Debugger

Wing Pro's debugger provides a powerful toolset for rapidly locating and
fixing bugs in single and multi-threaded Python code, and in a single
or multi-processing environment. The debugger 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.

There are a number of ways to use Wing's debugger. Which you use depends on where
your code is running, and how it is invoked:

Local Stand-Alone Code -- Wing can debug stand-alone scripts and applications that
run on your local machine and that are launched on demand from within Wing. The
next documentation page describes this in more detail.

Remote Stand-Alone Code -- Wing Pro can debug stand-alone code remotely in the same
way as it debugs locally running code. This is done by configuring a remote host
to which Wing will connect via SSH tunnel. For details on this, see Remote Hosts.

Local Embedded or Externally Launched Code -- Wing can also debug code
that runs within a web server, in an embedded Python instance (for example as
a script that controls a larger application), and other code that cannot be
directly launched from the IDE. For details, see Debugging Externally
Launched Code.

Because the debugger core is written in optimized C, debug overhead is
relatively low. However, you should expect your programs to run
25-50% slower within the debugger in more code. Overhead is proportional
to number of Python byte codes executed, so code that does a lot of work in
Python and very little in support libraries will incur more overhead.