Horacio Jamilis wrote:
> Vincent Snijders escribió:
>> Graeme Geldenhuys schreef:
>>   
>>> On Fri, Oct 31, 2008 at 10:19 AM, Martin Schreiber <[EMAIL PROTECTED]> 
>>> wrote:
>>>     
>>>> Correct. MSEide can not access property values. Fortunately prepending the
>>>> property name with 'F' usual works because of the naming convention.
>>>>       
>>> That was a handy trick. I managed to debug my program in Lazarus IDE
>>> yesterday, using that method. Thanks.
>>>
>>>     
>>>> Calling a property getter function is dangerous because the function often
>>>> does more than simply return the value.
>>>>       
>>> I do not think that matters much. Properties are a fundamental
>>> language feature in Object Pascal and are used often, so the debugger
>>> must support it. Plus the code you are debugging doesn't care what's
>>> happing in the Getter method, it is only concerned with the result
>>> returned. So if the result return is not what you expected in that
>>> code location, then debug the Getter method or step into the Getter
>>> method. This worked for Delphi and Kylix from the start.
>>>     
>> Well, it can become tricky. Suppose you try to debug something in the 
>> form creating and initial showing. If you inspect the MyForm.Handle, the 
>> handle gets created. Now, the handle is created at another point in the 
>> initialization sequence than at normal run time.
>>   
> This is a risk, the debugger user shoud be aware of, but viewing and 
> setting property values must work in the debugger, as it does in Delphi.

If you can give me a nice way to undo the case vincent described, I'll 
happily implement that.
Note that Delphi doesn't handle this either. So evaluating properties 
can modify the state of the debugee.

> I am with Graeme in this!
> I also believe that the Object Pascal Internal Debugger is an important 
> thing missing in this project, but I think I don´t have the skills to 
> contribute on this :-(

Thats one thing, but what is more important is a fully generated debug 
info. Without this info, a debugger can do nothing.
At this moment properties cannot be evaluated using the stabs info. 
period. When using dwarf it can be possible, however we might need a 
extention to the dwarf spec to get complete support.

(FYI, stabs and dwarf are the formats fpc uses to write debug info)

Marc

_______________________________________________
Lazarus mailing list
Lazarus@lazarus.freepascal.org
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to