[Lazarus] properties (delphi does it wrong too) [Re: debugger feature request created]

Martin lazarus at mfriebe.de
Fri Oct 2 11:42:25 CEST 2009


Santiago A. wrote:
> Hello:
> In barrapunto.com (a Spanish slashdot) there is an article asking 
> "What do you know about Lazarus?". Most comments were positive, and 
> most negative comments were against Pascal (it's a dead language etc) 
> more than against Lazarus.
>
> Here is the link to the article (in Spanish) 
> http://preguntas.barrapunto.com/article.pl?sid=09/09/28/2211206
>
> But there were a few comments with objections to Lazarus. One of them 
> was about debugger.
> This comment the (also in Spanish) 
> http://preguntas.barrapunto.com/comments.pl?sid=82108&cid=1176899
>
> In this comment he supported Lazarus, but the last paragraphs made 
> some objections. Here is a translation of the last paragraphs, sorry 
> if my English is not good enough
>
>     "Some problems  I find in  Lazarus a those that unfortunatelly 
>     can be found in most OSS. On one hand they have amazing features
>     that can't be found in their commercial counterparts, on the other
>     hand they lack elemental features that are waiting to be
>     implemented and waiting and waiting and waiting and waiting....
>
Well as I already mailed: Some properties can be inspected now (using 
fpc 2.3.1 and dwarf). So this is (partly) fixed.

"Some properties"  means properties that have an read-accessor pointing 
to a variable.

Properties that have a function to provide the value can not be inspected.
* And I am more than happy they can not *

Yes Delphi can do this and does do this. And what does it mean? If in 
Delphi I accidentally hover the mouse over a property, The function is 
called (actually Delphi calls it twice). As a result all Values on the 
object change (because many functions do more than just read values, 
they update values too).
The application is in a state that is no longer correct (because the 
values have changed to something they where not supposed to be). And I 
have to abort my debug session and start over. What help is that?

What help is it when an IDE (Delphi) silently and without warning does 
things that change the state of  my application. How can I expect any 
results from debugging if the IDE messes around in such ways with the 
application that I debug?


As far as I am aware the purpose of debugging is to get the same results 
as in a normal execution. This is unless I intentionally and explicitly 
ask the debugger/IDE to modify the data.


Please feel free to translate to Spanish, and post in the above forum.

Best Regards
Martin





More information about the Lazarus mailing list