Debug

If you find a grammatical error before you save or build a file, you can hover the red icon in the editor or read the error or warning message in [Output] tab at the bottom. When an error occurs, you can perform a debug to find the cause.

The programming languages that currently support debugging in goormIDE are as follows:

  • C/C++

  • JAVA

  • Node.js

  • Python

  • Ruby

Breakpoint

Breakpoint is a tool that allows a debugger to pause while reading the source code to check which value is in the variable.

To set or remove the breakpoints, click the blank space on the left side of the code line you want to stop. Alternatively, go to [Debug] > [Toggle Breakpoint] or press the default shortcut Ctrl + B (MAC: ⌘B). Or, it can be set through the right-click menu in the editor. When the code is executed in debugging mode, the debugger stops on that line.

You can find a list of locations set as breakpoints at the [Debug] > [Breakpoints] on the left side of the layout.

Debugging mode

In top menu [DEBUG] > [Debug], select the project you want to debug. Or press the default shortcut Alt + F5 (MAC: ⌥F5) to start debugging the recently debugged project.

Alternatively, click the [Debug] tab on the left layout and press the button.

When debug starts, the Debug Terminal window pops up, where you can see the debug running. You can also enter debug commands.

If you have multiple projects, mouse-over to a project you want to debug and click the debug icon.

In debugging mode, the following functions are available:

  • Continue: Proceeds to the next breakpoint.

  • Step Over: Moves to the next code line within the currently in progress function. This is similar to step-in function, but the step-over does not stop when the function is called.

  • Step In: Moves to the next code line within the code currently in progress. Similar to step-over, but the step-in stops when the function is called every time.

  • Step Out: Proceeds until the selected stack returns. After step-out, the return value is printed.

  • Terminate: Terminates the debugging mode.

The above functions can be found in Debug tab on the left layout. Or [Debug] > [Continue], [Step Over], [Step In], [Step Out], and [Terminate]. Alternatively, press the default shortcuts Ctrl + Shift + Y (MAC: ⌘⇧Y), F6, F7, F8, F4.

Yellow highlights show the line being read by the debugger in the editor, showing the name of the local variable, the value stored in the variable, and the type of variable in Debug tab in the lower layout. For an array or object, you can expand and view its sub-items by clicking the triangle icon. In most plug-ins (programming languages), you can correct values directly by clicking a variable value in the list of local variables.

C/C++

Debugging mode in C/C++ project.

JAVA

Debugging mode in JAVA project.

Node.js

Debugging mode in Node.js project.
  • When the Debug button is pressed, a new debug window will appear.

  • goormIDE use Node Inspector to debug Node.js. For a detail description of the Node Inspector, see this [node-inspector].

  • Before you use the Node Inspector, you need a domain address.

  • Debugbutton will open a confirmation window: Press 'Yes' to proceed the server and create a debug domain.

  • If you have registered the domain, debug will be proceed immediately.

  • To debug a Node.js server such as Express, you need two domains and two debug domains are as shown in the picture below. To debug your Node.js server, follow the instructions above to register both domains.

  • Debugging a generic Node.js console project requires only one domain for the Node Inspector.

  • After all the required domains have been registered, debug will run and the debug URL will be displayed at the top of the debug terminal on the IDE's bottom terminal tab. If you debug the project in the running server, the server URL is also displayed.

  • Node Inspector window will appear when you connect with the debug URL.

  • When the Source tab is selected, your screen will be like the screen below. On the left side, you can see the files of the project to debug, click the file you want to debug, and proceed with it.

  • You can observe the Network record on [Network] tab.

  • The [Profile] tab allows you to measure the performance of your application.

  • You can check the logs of your Node.js server in [Console] tab.

  • When the Node Inspector has started, you can set a breakpoint on where you want to debug.

  • Use (Continue / Pause), (Step Over), (Step Into) , (Step Out) buttons on the top right corner to debug. See the bottom of this page for an explanation of debug terms.

  • You can use the button to temporarily disable breakpoints, or you can stop debugging with the button when an exception occurs.

  • On the right side, you can see the properties of objects and the scope of global / local variables of the current debug location. Property values can be changed.

Python

Debugging mode in Python project.