[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