[Bug] Red Dot Breakpoints Ignored - Recipe
mwieder at ahsoftware.net
Wed Sep 2 23:10:07 EDT 2015
On 09/02/2015 07:50 PM, J. Landman Gay wrote:
> Today I finally saw my first instance of a pirate red dot breakpoint
> that didn't meet my previous criteria. I am initiated. This was in LC
> 7.0.6 which I have just started using more regularly. Prior to 7.x I had
> never seen it happen except when a script called into an IDE library.
The way the IDE's script editor handles these ephemeral breakpoints is
pretty screwy. That's my story and I'm sticking to it.
The breakpoints are stored in one of two places: as a custom property of
the preferences file if you're dealing with a global variable, or as a
custom property of the owning stack if it's a local variable. The
breakpoint is stored as objectID, lineNumber.
Breakpoint conditions are also stored as custom properties in the same
places, but are stored as expression. There is no other context for the
condition, it's just supposed to be indexed from the breakpoint list.
Thus you can have
button 1003 of card 1002, 14
button 1042 of card 1003, 7
x > 4
y = 5
If these get out of sync (you remove a condition, you have an error in
your code that prevents the list from getting updated, etc) then they no
longer match up and you have orphans.
Worse, since the conditions have no sense of scope, they will trigger
when any handler in the indexed object meets that condition, i.e., even
when the lists are synced properly, any handler in button 1003 will
trigger the 'x > 4' condition if it contains an x variable.
ahsoftware at gmail.com
More information about the use-livecode