GoLand 2024.1 Help

Start the debugger session

Starting a debugger session is very similar to running the program in normal mode. The debugger is attached behind the scenes, so you don't have to configure anything specific to start a debugger session. If you are able to run your program from GoLand, you will also be able to debug it using the same configuration.

Each time you debug a program, the debugger session is based on a run/debug configuration. Thus, you can configure GoLand to use any parameters and perform any actions before the program is launched. For example, the configuration can build the application every time you start a debugger session or use the previously compiled code.

  • If you don't have a run/debug configuration, and your program doesn't require you to have one, click the Run Run icon icon in the gutter near the class with the main() method and select Debug. This will create a temporary run/debug configuration for you. After that, you can customize and save this temporary configuration if needed. This is the quickest way to debug your program from an entry point that has not been defined yet.

    A menu appears on clicking the run button in the gutter
  • If you already have a run/debug configuration, and it is currently selected in the run/debug configurations list, press Shift+F9.

    The list of run/debug configurations on the toolbar
  • If you already have a run/debug configuration, and it is not selected, or you want to adjust some configuration before debugging, press Alt+Shift+F9. After that, select the desired configuration or proceed with Edit Configurations.

Pause and resume a debugger session

When the debugger session is running, you can pause/resume it as required 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.

Terminate a debugger session

  • Click the Stop button in the Debug tool window.

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

Productivity tips

Debug non-responding applications

In case your application hung, pause the session to let the debugger get the information about its current state. You can then examine the program state and locate the cause of the problem.

Do more with pause

When you need to evaluate an expression, and GoLand doesn't let you do that because you didn't stop at a breakpoint, you can advance your program a line further by stepping. After this, you will be able to use the debugger as if you had stopped at a breakpoint. While in some cases this may not be a valid solution, it may sometimes help you out.

Run before-launch tasks

Configure running external tools or performing other actions before every debugging session. This before-launch task can be running a Gulp or Grunt task or an 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.

Before debugging

  1. Set breakpoints in the source code.

  2. If necessary, create or modify the corresponding Run/Debug configuration.

The debug session starts with the selected run/debug configuration. Note that several debug processes can be launched simultaneously.

Last modified: 26 May 2024