lldb-vscode VSCode extension hangs indefinitely on Windows

Hi,

I’ve been trying out the lldb-vscode extension bundled with LLVM. I managed to get it working flawlessly on Linux but I’m having trouble getting it to work on Windows. When starting the debugger with a simple hello world program built with CMake, it hangs indefinitely without outputting any kind of error or log (as far as I can see). The Windows debugger bundled with the official Microsoft VSCode C++ extension does not have this problem.

I installed the extension by creating the llvm-org.lldb-vscode-0.1.0 folder in the vscode extensions folder in my home directory (as detailed in the lldb-vscode readme). I then copied the following files into this directory:

  • lldb-vscode/package.json → package.json

  • llvm/bin/liblldb.dll → bin/liblldb.dll

  • llvm/bin/lldb-vscode.exe → bin/lldb-vscode.exe

I confirmed the lldb-vscode.exe executable inside the extension folder starts correctly from within a Windows cmd console. I then created a VSCode launch.json file with the following contents:

{
“version”: “0.2.0”,
“configurations”: [
{
“type”: “lldb-vscode”,
“request”: “launch”,
“name”: “Launch”,
“program”: “${workspaceRoot}/build/main.exe”,
“args”: [],
“env”: [],
“cwd”: “${workspaceRoot}”
}
]

}

When starting the debugger, it hangs indefinitely instead of running and printing “Hello, World!” as expected. I also confirmed the lldb-vscode.exe was actually started by VSCode by checking the Windows Task Manager.

I’m hoping to fix this but I’m not sure how to proceed. I have two questions:

  1. Is this problem specific to my Windows installation or a general problem with lldb-vscode? If someone could try to reproduce the problem it would be much appreciated.
  2. How do I go about debugging this issue? I could not find any debugger logs even after setting VSCode’s log level to trace. Any pointers on getting started with this would also be appreciated.

Regards,

Daan De Meyer

You might want to take a look at what the lldb-vscode process is doing by attaching a debugger to it in case that will shed any light.

Other options are add a "initCommands" to your launch config:

  "initCommands": ["log enable -f /tmp/log.txt lldb process"],

Then look at the log and see if any progress is being made. I am not sure how good the logging is in the ProcessWindow process plug-in within LLDB.