Wing's debugger provides a powerful toolset for rapidly locating and fixing bugs in single-threaded or multi-threaded Python code. It supports breakpoints, stepping through code, inspecting and changing stack or module data, watch points, expression evaluation, and command shell style interaction with the paused debug process.

The debugger is built around a TCP/IP client/server design that supports launching your application not just from Wing itself but also externally, as with CGI scripts or code running in an embedded scripting facility within a larger application. Remote (host to host) debugging is also provided.

Because the debugger core is written in optimized C, debug overhead is relatively low; however, you should expect your programs to run about 50% slower within the debugger.

Sub-sections:

    12.0. Quick Start
    12.1. Specifying Main Entry Point
      12.1.0. Named Entry Points
    12.2. Debug Properties
    12.3. Setting Breakpoints
    12.4. Starting Debug
    12.5. Debugger Status
    12.6. Flow Control
    12.7. Viewing the Stack
    12.8. Viewing Debug Data
      12.8.0. Stack Data View
        12.8.0.0. Popup Menu Options
        12.8.0.1. Filtering Value Display
      12.8.1. Watching Values
      12.8.2. Evaluating Expressions
      12.8.3. Problems Handling Values
    12.9. Debug Process I/O
      12.9.0. External I/O Consoles
      12.9.1. Disabling Debug Process I/O Multiplexing
    12.10. Interactive Debug Probe
      12.10.0. Managing Program State
      12.10.1. Debug Probe Options
    12.11. Multi-Process Debugging
    12.12. Debugging Multi-threaded Code
    12.13. Managing Exceptions
    12.14. Running Without Debug