Enable Read Input When Debugging Golang on Visual Studio Code

It looks like you’re trying to set up debugging for a Golang application in Visual Studio Code, specifically focusing on enabling input reading during debugging. The configuration you’ve provided involves using the launch.json and task.json files to set up the debugger and tasks for your project.

Here’s a breakdown of the configuration you’ve shared:

launch.json Configuration

In this configuration, you’re defining a launch configuration to connect to a remote server for debugging. Here are the key attributes:

  • "name": "Connect to server": Specifies the name of this configuration.
  • "type": "go": Specifies that this is a Go debugging configuration.
  • "request": "attach": Indicates that you want to attach the debugger to a running process.
  • "preLaunchTask": "delve": Specifies the task that should be executed before launching the debugger.
  • "mode": "remote": Specifies that you’re debugging a remote process.
  • "remotePath": "${workspaceFolder}": Specifies the remote path to your workspace folder.
  • "port": 23456: Specifies the port on which the debugger will listen.
  • "host": "127.0.0.1": Specifies the host (localhost) for the remote debugging.
  • "cwd": "${workspaceFolder}": Specifies the current working directory for the debugger.

task.json Configuration

In this configuration, you’re defining a task that uses the Delve debugger to launch your Go application in headless mode. Here are the key attributes:

  • "label": "delve": Specifies the label for this task.
  • "type": "shell": Specifies that this task runs a shell command.
  • "command": "dlv debug --headless --listen=:23456 --api-version=2 \"${workspaceFolder}\"": Specifies the Delve command to run your application in headless mode and listen on the specified port.
  • "isBackground": true: Indicates that this task runs in the background.
  • "presentation": Specifies the presentation options for the task.
  • "problemMatcher": Specifies how Visual Studio Code should match problems in the output.

Enabling Input Reading

Based on the configuration you’ve provided, it seems that input reading during debugging is not explicitly enabled. However, since Delve is a powerful debugger for Go that supports interactive debugging, you might be able to achieve input reading during debugging sessions by interacting directly with your running program in the integrated terminal of Visual Studio Code.

For instance, you could open the integrated terminal and use it to send input to your running Go program while it’s paused during a debugging session. This can be done by interacting with the terminal as you would when running your program without debugging.

Please note that the specific way of interacting with your program during debugging might depend on the nature of your application and how it reads input.

Remember that the configurations you’ve provided are for remote debugging, so make sure that your remote application is reachable and properly set up for debugging.

If you encounter any issues or need further assistance, please feel free to ask!

0%