marktext/docs/dev/DEBUGGING.md
Felix Häusler 4c0d960bcc
Fix preference migrations (#2811)
Preference migrations were always applied because 'store.set' didn't
remove old entries.
2021-12-27 16:22:43 +01:00

34 lines
1.5 KiB
Markdown
Executable File

# Debugging
## Use Visual Studio Code
The most simplest way is to debug using the `Debug MarkText` configuration. You can set breakpoints and use the `debugger` statement.
**Prerequisites:**
- [Debugger for Chrome](https://marketplace.visualstudio.com/itemdetails?itemName=msjsdiag.debugger-for-chrome)
## Use Chrome Developer Tools
You can use the built-in developer tools via `View -> Toggle Developer Tools` in debug mode or connect via `chrome://inspect` using port `5858` for the main process and `8315` for the renderer process when launched via `yarn run dev`.
### Debug built application
You can use the default Electron command-line parameters to enable debug mode as described above.
```shell
$ marktext --inspect=5858 --remote-debugging-port=8315
```
## Debug slow startup performance
Regardless of whether you are using the built or development version, you can use the [node-profiler](https://github.com/fxha/node-profiler) to analysis startup issues. Please follow the tool description for setup. Afterwards, launch the following commands in parallel (e.g. use three terminal windows and launch MarkText last).
```shell
$ node-profiler main
$ node-profiler renderer
$ marktext --inspect=5858 --remote-debugging-port=8315
```
After the successful launch of MarkText, press `Ctrl+C` on both `node-profiler` instances. The tools created two files named `main.cpuprofile` and `renderer.cpuprofile`. You can now analyse these files via *Chrome Developer Tools* or *Visual Studio Code*.