Setting conditional breakpoints
J. Landman Gay
jacque at hyperactivesw.com
Mon Jun 24 15:42:42 EDT 2019
I doubt you're thick, Lagi. :) As I mentioned before, I'm having a lot
of trouble with breakpoints lately. Also, there's a difference between a
breakpoint and a watch, and I rarely use watches because they aren't
universally applicable. I do use conditional breakpoints though.
A watch is supposed to catch any instance where a specified variable
changes its value. My experiments were several years ago, but back then
I found that only global variables honored watches. I guess that makes
sense, since you can't trap a variable that isn't in memory already. I
don't use watch variables any more because I don't use globals much. And
even back then, watches weren't always reliable.
For normal breakpoints, I don't use the breakpoints pane in the editor,
I usually set them directly in the script. Set a red dot at the place
where you want to break, right-click the dot, and choose Edit. In the
dialog that appears, type the condition that needs to be met. The
condition needs to include a variable that occurs in the handler you're
debugging.
An example:
on foo pVar
put the number of items in pVar into tNum
switch tNum
case 1
doThing 1
break
case 2
doThing 2
break
case 3
doThing 3
break
end switch
end foo
I can now set a breakpoint at the "switch tNum" line with a condition:
tNum = 2
and the breakpoint will only fire if that condition is met.
There used to be a problem deleting breakpoints from the pane in the
editor window, but that was fixed a while ago. Maybe it has recurred. I
don't use that, I just click on the dot in the script to remove it and
that has always worked. If you're using an older version of LC, you may
have hit that bug though.
On 6/24/19 5:49 AM, Lagi Pittas via use-livecode wrote:
> Hi Jacque,
>
> It never worked before and I couldn't get it to work today. I can't be that
> thick can I?
> If the "incantation" means I can't get it work (especially the delete - the
> breakpoints i set would not remove however I clicked) easily
> then I would presume there are some people as dumb as me who won't be able
> to do it.
>
> I spent over half an hour trying to get a watch/breakpoint working - do you
> tie the watch to the breakpoint if so how - Tried
>
> Can you give me a recipe "for dummies"
>
> "Don't make me think" - Steve Krug
>
> "Show me the Banana" - "The BIg Red Fez" - Seth Godin
>
> "The best way to motivate the monkey, of course, is to use a banana.
> Whenever the monkey walks into a new situation, all it wants to know is,
> “Where’s the banana?”
> If the banana isn’t easy to see, easy to get and obvious, the monkey is
> going to lose interest.
> But, if you can make it clear to the monkey what’s in it for him, odds are
> he’ll do what you want. "
>
> Thanks
>
> Lagi
>
> On Sat, 22 Jun 2019 at 00:48, J. Landman Gay via use-livecode <
> use-livecode at lists.runrev.com> wrote:
>
>> Set a breakpoint, right click it, choose condition, and fill out the
>> dialog. That's how I usually do it.
>> --
>> Jacqueline Landman Gay | jacque at hyperactivesw.com
>> HyperActive Software | http://www.hyperactivesw.com
>> On June 21, 2019 5:34:30 PM Bob Sneidar via use-livecode
>> <use-livecode at lists.runrev.com> wrote:
>>
>>> In the breakpoints tab of the script editor, if you right click the
>> lower
>>> pane, you can create conditional breakpoints. For instance if the value
>> of
>>> a variable is something. I have never gotten them to work, and I find I
>> am
>>> needing this more and more.
>>>
>>> Bob S
>>>
>>>
>>>> On Jun 21, 2019, at 15:26 , dunbarx--- via use-livecode
>>>> <use-livecode at lists.runrev.com> wrote:
>>>>
>>>> Not sure what you could mean.
>>>> on mouseUp if the mouseLoc is within the rect of btn 3 then
>> breakPoint
>>>> if the visible of btn 3 then breakPoint if the...
>>>>
>>>>
>>>> Surely I am missing this.
>>>> Craig
>>>
>>>
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
>>
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode
mailing list