Debugging
- Debugging
- Breakpoints
- Configuring Debugger Options
- Starting the Debugger Session
- Pausing and Resuming the Debugger Session
- Monitoring the Debug Information
- Examining Suspended Program
- Exploring Frames
- Finding the Current Execution Point
- Stepping Through the Program
- Remote Debugging
- Inline Debugging
- Using Debug Console
- Attaching to Local Process
- Thread Concurrency Visualization
- Viewing as Array or DataFrame
Overview
This section describes the procedures that are common for various types of applications.
For details on debugging applications in the supported frameworks, refer to Language and Framework Specific Guidelines.
PyCharm provides a full range of facilities for debugging your source code:
- Breakpoints in Python.
- Breakpoints in JavaScript.
- Customizable breakpoint properties: conditions, pass count, etc.
- Frames, variables, and watches views in the debugger UI.
- Runtime evaluation of expressions.
If you want to see a list of all currently debugging applications, select from the main menu. Refer to the section Viewing Running Processes for details.
General debugging steps
- Configure the debugger options.
- To debug CoffeeScript, TypeScript, and Dart code, you need source maps generated in addition to the JavaScript code.
Source maps set the correspondence between lines in your original code and in the generated JavaScript code, otherwise your breakpoints will not be recognised and processed correctly.
JavaScript and source maps are generated by compiling the original code either manually using the File Watcher of the type CoffeeScript, or by the built-in compiler (for TypeScript), or through integration with the Pub Serve tool (for Dart). After that, you can debug the output JavaScript code. See Compiling CoffeeScript to JavaScript, Compiling TypeScript to JavaScript, and Using Integration with the Pub Tool for details.
- Define a run/debug configuration for the application to be debugged.
- Create breakpoints in the source code.
- Launch a debugging session.
- Pause or resume the debugging session as required.
- During the debugger session, step through the breakpoints, evaluate expressions, change values on-the-fly , examine suspended program, explore frames, and set watches .
After you've started a debug session, the icon that marks the Debug tool window toggles to
to indicate that the debug process is active.