Async Stack Traces
Use this page to configure capture points to facilitate debugging of asynchronous code.
A capture point is a place in your code where the debugger captures stack traces to be used later when you reach a specific point in the code (the insertion point) and want to see how you got there. IntelliJ IDEA does this by substituting part of the call stack with a captured stack.
Asynchronous stack traces are enabled by default. To disable them, deselect the Instrumenting agent (requires debugger restart) option. The most common capture points are built-in, so no configuration is required.
If you need to use capture points that are not included in the default configuration, you can use the Async.Schedule
and Async.Execute
annotations that reside in the public JetBrains annotations package and can be referenced in your code. To use them, add this Maven repository as a dependency for your artifacts.
If you cannot use annotations or need to be able to capture local variables, you can configure capture points manually by using the following controls:
Item | Description |
---|---|
Click this icon to configure a new capture point. Fill in the following information:
Use the checkbox next to each entry to enable/disable the selected capture point. | |
Click this icon to remove the capture point from the list. | |
Click these icons to move the selected item one line up or down in the list. | |
Click these icons to enable/disable all selected capture points. | |
Click this icon to duplicate the selected entry. | |
Click this icon to import capture point settings from a file. | |
Click this icon to export capture point settings to a file. | |
Capture local variables | Select this option if you also want to capture local variables (primitives and String values) together with the call stack. This may sufficiently slow down the debugging process. Note that this option is unavailable if the Instrumenting agent is enabled |