Home
»
Key Benefits of Wing IDE
»
"For me the one thing that stands out in Wing IDE is the debugger"
-- Konrad Hinsen, Oct 2010
Wing IDE includes a powerful multi-threaded Python debugger that works with
most forms of Python code running under many versions of CPython and Stackless Python.
The debugger's flow control and flexible data viewing features speed the
isolation of bugs and facilitate the process of crafting a bug fix.
Isolate Bugs
|
Wing stops at and reports unhandled exceptions encountered at runtime,
immediately displaying the code at the point of failure. For cases where
understanding a bug requires stopping before the actual exception is raised,
the debugger supports regular, temporary, and conditional breakpoints, as well
as the ability to disable breakpoints or ignore them a specified number of
times. This makes it easy to isolate and then step through the particular
invocation where a bug occurs. |
Inspect Runtime State
|
Wing IDE's Stack Data, Modules, and Watch tools make it easy to inspect,
track, and even change the runtime state of the debug process. For convenience,
Wing also shows floating debug value tooltips when the mouse is hovered over
symbols that are active on the debug stack. The Watch tool allows values to
be tracked by symbolic name and object reference. Watching by object reference
facilitates tracking a value in a datastructure even as local symbolic references
to it go out of scope. |
Interact with the Debug Probe
|
The Debug Probe allows running interactive Python commands, with
auto-completion and call tips, in the context of the current stack frame in
your paused debug process. This tool is unmatched for complex debugging, and a
great way to try out code in context while crafting a bug fix. Fixing bugs is
also assisted by use of live runtime state to fuel the auto-completer and call
tips displayed when working in the editor in code that is on an active stack
frame. |
Debug Websites and Embedded Code
|
Wing IDE can debug code that is running within a web server, web framework,
or in an embedded instance of Python. Remote debugging makes it possible to debug
code running on another host. The debugger also includes an API that can be useful
when debugging Python code running within a larger non-Python application or to
control which threads are debugged in a multi-threaded application. |
Debug Django Templates
|
Wing IDE can stop at breakpoints and then step through Django Template files.
While debugging a Django Template file, the Stack Data and other debugger tools work
within the template's runtime context. Being able to see the debug position within
the Django template files, rather than working with Python frames in the Django
template engine implementation, makes it easier to understand and debug template
invocations. |