Symbolic Debugger

Igor´s full-featured symbolic debugger gives you a powerful tool to get your code working properly by observing it execute one step at a time.

The debugger window will automatically appear when one of the following events occurs:

Debugger

You set breakpoints simply by clicking in the procedure window´s left margin:

Debugger breakpoint

Once in the debugger, you can execute a single line of code by pressing the "Step" button, step into or out of a routine, resume execution by pressing the "Go" button, or stop executing with the"Stop" button.

You can view the routine that is currently executing and the chain of routines that called it in the Stack list. The top row shows the routine that began execution and the bottom row shows the routine currently executing. You can examine the variables associated with any routine in the Stack list by simply selecting the routine in the Stack list:

Debugger stack list

You can view the values of all user-defined and built-in variables along with the variable type. And you can edit variable values by double-clicking their current value.

Debugger variables list and editing local variable

IGOR´s structures and wave contents can be examined and edited, too:

Debugger structure element being edited

Wave values can be examined as a list of numbers or strings in a table or a as a trace or image in graph:

Wave values being inspected in the debugger's table, popup showing number formats Graph view of wave showing popup menu of graph options

You can enter expressions that use local or global variables. The expression´s value is evaluated at every step of the program.

Debugger expressions

Igor 7 has a new "string inspector" that is useful for viewing and editing very long strings. It is especially useful when the string contains multiple lines of text such as the entire content of a multi-line data file:

Long string being inspected in the Debugger