Debugging an application running on the built-in server
PhpStorm has a built-in web server that can be used to preview and debug your application. This server is always running and does not require any manual configuration. All the project files are served on the built-in server with the root URL
http://localhost:<built-in server port>/<project root>, with respect to the project structure.
To start debugging
On the context menu of the editor or the selection, choose Debug <HTML_file_name>. PhpStorm generates a debug configuration and starts a debugging session through it. The file opens in the browser, and the Debug tool window appears.
Suppose you have a simple application that consists of an
index.html file and an
index.js file, where
index.js. To start debugging this application using the built-in server, open
index.html in the editor and choose on the context menu: PhpStorm creates a run/debug configuration automatically, and a debugging session starts: To restart the new run/debug configuration, click in the upper right-hand corner of the PhpStorm window or choose on the main menu:
Debugging an application running on an external web server
To start debugging
Run the application in the development mode. Often you need to run
npm startfor that. When the development server is ready, copy the URL address at which the application is running in the browser - you will need to specify this URL address in the run/debug configuration.
Choose the newly created configuration in the Select run/debug configuration drop-down list on the toolbar and click next to the list. The URL address specified in the run configuration opens in the browser and the Debug tool window appears.
Debugging asynchronous code
Async call from <caller> is added in the Frames pane of the Debugger tab. PhpStorm displays a full call stack, including the caller and the entire way to the beginning of the asynchronous actions.
function), then will move to line6.
The asynchronous debugging mode is turned on by default. To disable asynchronous stack traces, set
js.debugger.async.call.stack.depth in Registry to
PhpStorm supports debugging Service Workers and Web Workers. PhpStorm recognizes breakpoints in each worker and shows the debug data for it as a separate thread in the Frame pane on the Debugger tab of the Debug Tool Window.
To debug workers
Set the breakpoints in the Workers to debug.
If you are using Service Workers, make sure the Allow unsigned requests checkbox on the Debugger page is selected. Otherwise your service workers may be unavailable during a debug session:
- Choose the newly created configuration in the Select run/debug configuration drop-down list on the tool bar and click Debug .
The HTML file specified in the run configuration opens in the chosen browser and the Debug Tool Window opens with the Frames drop-down list showing all the Workers:
To examine the data (variables, watches, etc.) for a Worker, select its thread in the list and view its data in the Variables and Watches panes. When you select another Worker, the contents of the panes are updated accordingly.