Debugger Start - can't find good documentation

I was looking at this page, but it seems that it's outdated?
https://wiki.keyboardmaestro.com/action/Debugger_Start

At least, the image seems different from what I see when I add the debugger start action.

Can someone explain what this does?
I was looking for a way to test my macros by setting Starting and Ending points to avoid disabling lots of actions in order to just test a particular section. Is this what I need?

Different how?

Maybe, maybe not. "Debugger Start" will pause your macro at that point and open the debugger, allowing you to step through actions, examine variables, check flow control, and so on. It doesn't let you skip all the actions up to that point, you run through them "normally". "Debugger End" will finish the debugging process and let you run the remainder of the macro normally.

If you want to run just a portion of a macro you'll have to either disable pre- and post-actions or copy the chunk you want to test into a new macro -- either way, don't forget to make sure that all variables/states the section you are testing requires are set!

I guess that the only easy solution is to copy the actions into a new macro.
It would be cool if we could set a start and end points that we could move to different positions so we don't have to keep copying the actions to a new macro.
But thanks for the tip

Sorry, @iamdannywyatt, I guess I really didn't explain that very well.

Sometimes, the easiest way to test a bit of a program/macro is in isolation -- you don't want to wait for something to run for 10 minutes just so you can tweak the way a dialog box is laid out! But that's also me bringing in "wrong thinking" from other environments -- KM's "Try..." in the settings of almost every action is going to be a better way of doing this most of the time.

The debugger does let you set start and end points for the debugging -- you run the macro as normal until the "start" break-point, then step through the following actions watching how variables change, which way "ifs" go, and so on. You can then continue at "normal speed" until the next break-point (or the end).

What's difficult is to start halfway through a macro -- there's so many things that may have already been set/changed by that point. You might be able to do it by using the "Try..." option on the actions of interest, maybe also setting any required variables by hand, but it'll often be easier to use one of the two methods above.

It's difficult to describe in the abstract. If you've got a macro in mind, post it and ask for suggestions on how to debug (rather than how to fix).

I think I understand what you mean. Maybe some macros depend on variables that are set BEFORE the start point I want to set so running that section would not have those variables set yet, so it would not work as it should. Since my workflows are still super simple, I didn't see it that way. Thanks for clarifying :slight_smile:

1 Like