## Debugger

First a warning; The debugger is still quite buggy and not nearly done.
It can debug plain python and if you're careful, simple wxPython apps, but there are currently still serious issues around detecting when the main window closes and processing the mainloop of a GUI app.

To open the debugger for a module, open a module or save any unsaved changes and click the red play button on the 'Source' view.
To open the debugger for an application, open it or save any unsaved changes and click the red play button on the 'Application'/'Source' view.

When you want to debug an application be sure to remove code which checks that `__name__ == '__main__'`.
Otherwise, while debugging, this test will fail and there will usually not be much to debug :)

The standard debugging pages:

Stack | List of items, each representing a level of the stack. Click on an item to inspect that level in the watch windows.
Breakpoints | List of breakpoints defined for the debugger. Breakpoints can be disabled or deleted by selecting them and right clicking in this view. Add a breakpoint by putting your caret at the desired position in the source and choosing 'Set breakpoint'
Output | Theoretically this view should show any output generated by the module being debugged.
Watches | Shows a list of user defined watches, evaluated in the selected scope. Select/right-click to delete.
Locals | List of all objects in local scope of the selected level. Select/right-click to add as a watch or add your own locals watch
Globals | List of all objects in global scope of the selected level. Select/right-click to add as a watch or add your own globals watch