Debugging

Ranorex provides the possibility to debug code directly in the development environment.

To enable the debugger press the ‘Enable Debugging’ button in the toolbar.

Enable Debugging

To make the Debugger stop at a specific position in your code, you can set breakpoints. Breakpoints can either be set

by clicking on the left margin at the line you want to set it, or

Add breakpoint

by putting the cursor to the line you want to add a breakpoint, open the ‘Debug’ menu an choose ‘Toggle Breakpoint’.

Toggle breakpoint

By setting a breakpoint, a red circle will be added at the margin and the line of code will be highlighted red. The breakpoint can be removed in the same way as it has been added.

After setting a breakpoint the debugger can be started by executing your application as described in the chapter Run.

The application will start and Ranorex Studio will switch to the ‘Debug Layout’ which causes the following menu items to be available from ‘Debugger’ menu and toolbar:

Continue debugging

Continues execution

Stop process

Forces the process to stop

Step over

Executes the statement on the current line but it will not step into

Step into

Executes the statement on the current line and stops at the first line of code inside the method

Step out

Finishes executing the current method and returns to its parent method

Debugging menu Items

Debugging toolbar items

To skip several lines of code and continue debugging on a specific line, the context menu item ‘Set Current Statement’ can be chosen by right-clicking on the line and choosing ‘Set Current Statement’ from the context menu.

Context menu ‘Set Current Statement’

In paused mode, the actual state of the individual objects can be diagnosed.

The following windows can be activated in the sub-menu ‘Debug’ which is part of the ‘View’ menu.

Debug sub menu

Callstack

Shows method calls currently on stack.

Local variables

Shows variables defined in the function currently being executed, arguments passed into the current function and fields and properties of the class where the function is defined.

Watch

Shows all expressions added to the watch list. Expressions can be added by right-clicking on the window, choosing ‘Add’ from context menu and entering the expression. Expressions can also be added by selecting them in code and dragging them into the ‘Watch’ window.

Additionally to the different views it’s also possible to diagnose individual objects directly in code using the tool tips popping up when moving the mouse over them.

Tool tip

Note

If Visual Studio 2010 is installed on the machine running Ranorex Studio, debugging might be slow. To overcome this issue it is recommended to search the key ‘LowLevelHooksTimeout’ in the registry and delete all occurrences.