Joymaker
Joymaker

Reputation: 1418

How to use lldb under VS code on Windows on ARM?

I am trying to debug under VSCode on Windows, running on an ARM architecture. pacman -S mingw-w64-x86_64-lldb-mi was successful. From the command line it works:

$ lldb-mi
(gdb)
version
~"lldb version 18.1.8\n"
^done

I installed the Code-LLDB extension, which several people have recommended.

But when I try to run under VS code, I get this very strange error message: This platform (win32-arm64) is not supported. Now I really don't understand what part of the system thinks that it's on Win32. Here's my Windows system information: enter image description here Here's my code:

#include <stdio.h>

int main(int argc, char**argv){
    printf("Hello, from Hello!\n");
}

Here's launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "lldb",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb",
        }
    ]
}

It's not a build problem: I can do ctrl-shift-B and it reports success on building, and from the command line I can run it:

PS C:\Users\ken\Desktop\prog24\aside\C++ lldb> ./main.exe
Hello, from Hello!

But running via F5 under VS code, I get the error message reported above.

Okay, change things up a little, according to other examples I have seen: "type": “cppdbg", instead of "lldb". Now in the terminal window I see

PS C:\Users\ken\Desktop\prog24\aside\C++lldb>  &     'c:\Users\ken\.vscode\extensions\ms-vscode.cpptools-1.22.11-win32-
arm64\debugAdapters\bin\WindowsDebugLauncher.exe’
 '--stdin=Microsoft-MIEngine-In-jth0zffh.5ci’
 '--stdout=Microsoft-MIEngine-Out-ib1ulirl.bmf' 
 '--stderr=Microsoft-MIEngine-Error-2gfpn3zl.l3a’
 '--pid=Microsoft-MIEngine-Pid-nqrtwdhr.rdv' 
 '--dbgExe=C:\msys64\mingw64\bin\lldb-mi.exe' '--interpreter=mi' 

and thereafter it hangs, with a little blue progress line continually running under the debug menu: enter image description here

Third try: DISABLE the Code-LLDB extension, and instead provide the debugger path explicitly. Same outcome as the above. launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb",
            "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\lldb-mi.exe",
        }
    ]
}

Okay, so which of these paths is the most promising at the present time? And can anyone see any errors in my launch configuration that might be causing the problems?

Upvotes: 0

Views: 50

Answers (0)

Related Questions