Before moving on to the rest of the IDE's features, here are a few highlights of the debugger's other capabilities that are worth knowing about from the start:
- Main Debug File -- You can specify one file in your project as the main entry point for debugging. When this is set, debugging will always start there unless you use the Debug Current File item in the Debug menu. To set a main debug file use Set Current as Main Debug File in the Debug menu, right click on the Project tool and select Set as Main Debug File, or use the Main Debug File property in the Debug tab of Project Properties. Whether or not you set a main debug file depends on the nature of your project.
- File Properties -- Each file in your project can override or modify your project-wide debug properties. This is useful in projects with multiple debug entry points. File properties can also be used to specify command line arguments for debugging. They are accessed from the Current File Properties item in the Source menu or by using Properties in the editor or project (right-click) context menus:
- Modules Data View -- By default, Wing filters out modules and some other data types from the values shown in the Stack Data tool. In some cases, it is useful to view values stored in modules. This can be done with the Modules tool, which is simply a list of all modules found in sys.modules:
- Conditional Breakpoints -- Use the Debug menu's Breakpoint Options group or right click on the breakpoints margin to set a conditional breakpoint. These can be very useful if you need to stop in code before an error occurs, so that you can step through the code that leads up to the error. Conditionals can be any Python expression, but beware of expressions that alter your program state as a side-effect. Note that Wing will always stop on a conditional breakpoint when an exception is raised by the conditional expression itself.
- Breakpoint Manager -- The Breakpoints tool accessed from the Tools menu shows a list of all defined breakpoints and allows enabling/disabling, editing the breakpoint conditional, setting an ignore count, and inspecting the number of times a breakpoint has been reached when a debug process is active.
- Remote Debugging -- Wing can debug processes that are running under a web server or web development framework, or that get launched from the command line and not from Wing. This is beyond the scope of this tutorial, and is described in Debugging Externally Launched Code and in the the relevant How-To guides.
|« 1.6.3. Tutorial: Watching Debug Data||Table of Contents||1.7. Tutorial: Source Browser »|