WebStorm 2024.2 Help

Start the debugger session

Any debugger session is based on a run/debug configuration. The configuration type depends on the type of your application and the runtime environment.

You can run several debugger sessions with different configurations at a time.

Through a configuration you do not only launch your application but can also tell WebStorm to use some parameters or perform some actions before the application starts. For example, you can pass Node.js-specific command line options to the Node.js executable file.

Before debugging

  1. Set the breakpoints in your code.

  2. Define a run/debug configuration.

  3. To debug code compiled to JavaScript, you need to generate a source map for it. This will set the correspondence between lines in your original code and in the generated JavaScript code. If no source map is generated, your breakpoints will not be recognized and processed correctly.

    Source maps are required for debugging TypeScript, Dart, CoffeeScript, JavaScript with JSX, ES6 and newer versions etc.

Start debugging

Note that after you launch a debugger session, the the Debug tool window button icon that marks the Debug Tool Window toggles to Debugging is active to indicate that the debugging process is active.

Pause/Resume a debugger session

When the debugger session is running, you can pause/resume it using the buttons on the toolbar of the Debug tool window:

  • To pause a debugger session, click the Pause button.

  • To resume a debugger session, click the Resume button F9.

Restart a debugger session

  • Click the Rerun button in the Debug tool window or press Ctrl+F5.

    the Rerun button

Reload the current page in browser

When debugging a simple HTML+JavaScript application on the WebStorm built-in server, you can reload the page where you have currently navigated instead of restarting the application entirely.

Terminate a debugger session

  • Click the Stop button in the Debug tool window.

    the Stop button

    Alternatively, press Ctrl+F2 and select the process to terminate (if there are two or more of them).

    the Stop button: select the configuration to terminate

Productivity tips

Debug non-responding applications

In case your application hangs, it may help to pause the session and let the debugger get the information about the application's current state. You can then use this information to locate the cause of the problem.

Use Pause Program instead of breakpoints

If you used Pause Program instead of a breakpoint, some features, such as evaluate expression will be unavailable. However, you can work around this limitation by stepping a line further. After this, you will be able to use the debugger as if you had stopped at a breakpoint.

Run before-launch tasks

You can configure external tools or custom actions to run before a debugging session. Examples of before-launch actions are running a Gulp, Grunt, or NPM script, compiling your TypeScript code into JavaScript, or running all the currently active File Watchers to compile or compress your code, uploading your sources to a remote server, and many more, depending on the language and frameworks you are using.

Last modified: 23 October 2024