[Lazarus] Conditional Breakpoints - are they supported yet?

Martin Frb lazarus at mfriebe.de
Thu Mar 5 22:26:59 CET 2015


On 05/03/2015 21:16, Martin Frb wrote:
> On 05/03/2015 20:11, Graeme Geldenhuys wrote:
>>
>> eg: I set a breakpoint, then adjust it's properties and add the
>> condition:  ActualTag = '<h1>'
>>
>> I also tried
>>    ActualTag = "<h1>"
>>    ActualTag := '<h1>'
>>    ActualTag := '<h1>';
>>    etc.
>>
>>
>
> Interesting, for me using a condition on string, the condition is 
> never true, so it never stops.
>
> It is something to do what gdb sees as the actual value. (Unlike 
> watches, the IDE does not apply any pascal syntax fixing to the 
> condition.
> I tested with an integer "i=2" that works.
>
> And on top of all your mail just made me realize that string literals 
> are broken. They get uppercased, because of a gdb bug, where class 
> members are only found if they are uppercase and the ide simple fixes 
> that by uppercasing all. That affect watches too.

Just tested, condition on strings are not possible.

gdb see the string as pointer, and compares the address.
This condition would work (if you have the desired address)
str=0x5a0b40






More information about the Lazarus mailing list