vadimcn / codelldb

A native debugger extension for VSCode based on LLDB
https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
MIT License
2.42k stars 237 forks source link

Won't start in Windows #1103

Open BenBlumer opened 1 month ago

BenBlumer commented 1 month ago

OS: Windows 11 Pro VSCode version: 1.89.1 CodeLLDB version: v1.10.0 Compiler: clang Debuggee: C++.

I've installed CodeLLDB extension through the interface in VS Code. When I click the -> run C/C++ it asks which compiler to use. I choose C/C++: clang++.exe build and debug active file.

This creates the following tasks.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: clang++.exe build active file",
            "command": "C:\\Program Files\\LLVM\\bin\\clang++.exe",
            "args": [
                "-fcolor-diagnostics",
                "-fansi-escape-codes",
                "-gdwarf",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

I go to C/CPP: Select intellisense configuration and choose use clang++.exe.

This generates the following settings.json:

{
    "C_Cpp.default.compilerPath": "C:\\Program Files\\LLVM\\bin\\clang++.exe"
}

I add the verbose debugging line:

{
    "C_Cpp.default.compilerPath": "C:\\Program Files\\LLVM\\bin\\clang++.exe",
    "lldb.verboseLogging": true
}

Then I click the run arrow -> Debug C/C++. One terminal pops up for building the application which completes. A second terminal opens up for debugging. It runs the following command and hangs:

>  & 'c:\Users\benja\.vscode\extensions\ms-vscode.cpptools-1.20.5-win32-x64\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-ugq2rdg2.nm2' '--stdout=Microsoft-MIEngine-Out-2npg3nct.cbu' '--stderr=Microsoft-MIEngine-Error-vmkxgt2g.ufi' '--pid=Microsoft-MIEngine-Pid-pctgijk5.zxy' '--dbgExe=C:\Program Files\LLVM\bin\lldb.exe' '--interpreter=mi' 
Verbose log
I don't see anything in my log:
![image](https://github.com/vadimcn/codelldb/assets/3579441/8c1bdb3d-2671-4331-9c97-d78a35a512a9)

x86_64-windows 
I believe the debug info is gnu:

```
> llvm-objdump.exe -h hello_wurld.exe             

hello_wurld.exe:        file format coff-x86-64

Sections:
Idx Name          Size     VMA              Type
  0 .text         000ebc1c 0000000140001000 TEXT
  1 .rdata        000264ab 00000001400ed000 DATA
  2 .data         00002a00 0000000140114000 DATA
  3 .pdata        00009b7c 000000014011a000 DATA
  4 .idata        000011b0 0000000140124000 DATA
  5 .tls          00000309 0000000140126000 DATA
  6 .00cfg        00000175 0000000140127000 DATA
  7 memcpy_       0000033c 0000000140128000 DATA
  8 _RDATA        0000035f 0000000140129000 DATA
  9 .debug_a      00000b6b 000000014012a000 DATA, DEBUG
 10 .debug_i      0000bfd4 000000014012b000 DATA, DEBUG
 11 .debug_r      0000122c 0000000140137000 DATA, DEBUG
 12 .debug_s      0000cfac 0000000140139000 DATA, DEBUG
 13 .debug_l      00003a14 0000000140146000 DATA, DEBUG
 14 .reloc        000024f0 000000014014a000 DATA
 ```