microsoft / microsoft/vscode-cpptools

MIMode lldb unkown options

Offen
#11,441 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

debugger help wanted
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

Environment
  • OS and version: Arch Linux x86_64 and Kernel 6.4.12-arch1-1
  • VS Code: 1.82.0 8b617bd08fd9e3fc94d14adb8d358b56e3f72314 x64
  • C/C++ extension: v1.17.5
  • OS and version of remote machine (if applicable):
  • GDB / LLDB version: lldb version 16.0.6
Bug Summary and Steps to Reproduce

Bug Summary:
Can't use lldb with cppdgb.

Steps to reproduce:
try to debug any c program with the configuration provided.

Debugger Configurations
{
            "name": "cppdbg",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/main",
            "cwd": "${workspaceFolder}",
            "MIMode": "lldb",
            "miDebuggerPath": "lldb",
}
Debugger Logs
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (198) LaunchOptions{\"name\":\"cppdbg\",\"type\":\"cppdbg\",\"request\":\"launch\",\"program\":\"/home/dh/Programms/llvm/build/main\",\"cwd\":\"/home/dh/Programms/llvm\",\"MIMode\":\"lldb\",\"miDebuggerPath\":\"lldb\",\"preLaunchTask\":\"make\",\"logging\":{\"engineLogging\":true,\"trace\":true,\"traceResponse\":true},\"__configurationTarget\":6,\"configSource\":\"workspaceFolder\",\"debugType\":\"debug\",\"__sessionId\":\"78ac6fca-a9a9-4fee-886c-6ebed1ead182\"}\n"},"seq":2}
1: (198) LaunchOptions{"name":"cppdbg","type":"cppdbg","request":"launch","program":"/home/dh/Programms/llvm/build/main","cwd":"/home/dh/Programms/llvm","MIMode":"lldb","miDebuggerPath":"lldb","preLaunchTask":"make","logging":{"engineLogging":true,"trace":true,"traceResponse":true},"__configurationTarget":6,"configSource":"workspaceFolder","debugType":"debug","__sessionId":"78ac6fca-a9a9-4fee-886c-6ebed1ead182"}
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (241) DbgCmd:echo $$ > /tmp/Microsoft-MIEngine-Pid-ytth1ufk.buj ; cd \"/home/dh/Programms/llvm/build\" ; DbgTerm=`tty` ; set -o monitor ; trap 'rm \"/tmp/Microsoft-MIEngine-In-j45tl1g2.p5r\" \"/tmp/Microsoft-MIEngine-Out-ml23qzr3.qiy\" \"/tmp/Microsoft-MIEngine-Pid-ytth1ufk.buj\" \"/tmp/Microsoft-MIEngine-Cmd-hv42go4j.w5c\"' EXIT ; \"/usr/bin/lldb\" --interpreter=mi --tty=$DbgTerm < \"/tmp/Microsoft-MIEngine-In-j45tl1g2.p5r\" > \"/tmp/Microsoft-MIEngine-Out-ml23qzr3.qiy\" & clear; pid=$! ; echo $pid > \"/tmp/Microsoft-MIEngine-Pid-ytth1ufk.buj\" ; wait $pid; \n"},"seq":4}
1: (241) DbgCmd:echo $$ > /tmp/Microsoft-MIEngine-Pid-ytth1ufk.buj ; cd "/home/dh/Programms/llvm/build" ; DbgTerm=`tty` ; set -o monitor ; trap 'rm "/tmp/Microsoft-MIEngine-In-j45tl1g2.p5r" "/tmp/Microsoft-MIEngine-Out-ml23qzr3.qiy" "/tmp/Microsoft-MIEngine-Pid-ytth1ufk.buj" "/tmp/Microsoft-MIEngine-Cmd-hv42go4j.w5c"' EXIT ; "/usr/bin/lldb" --interpreter=mi --tty=$DbgTerm < "/tmp/Microsoft-MIEngine-In-j45tl1g2.p5r" > "/tmp/Microsoft-MIEngine-Out-ml23qzr3.qiy" & clear; pid=$! ; echo $pid > "/tmp/Microsoft-MIEngine-Pid-ytth1ufk.buj" ; wait $pid; 
--> C (runInTerminal-6): {"type":"request","command":"runInTerminal","arguments":{"kind":"integrated","title":"cppdbg: main","cwd":"","args":["/bin/sh","/tmp/Microsoft-MIEngine-Cmd-hv42go4j.w5c"],"env":{}},"seq":6}
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (253) Wait for connection completion.\n"},"seq":8}
1: (253) Wait for connection completion.
Other Extensions

No response

Additional Information

cppdbg terminal output

error: unknown option: --interpreter=mi
error: unknown option: --tty=/dev/pts/3
Use 'lldb --help' for a complete list of options.

image

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit der cppdbg-Startkonfiguration unter Verwendung von MIMode und miDebuggerPath und reproduzieren Sie anschließend den in den Debugger-Logs gezeigten LLDB-Aufruf. Verfolgen Sie, warum der Start lldb --interpreter=mi und --tty übergibt, und überprüfen Sie, dass das Debuggen eines C-Programms ohne die gemeldeten Fehler zu unbekannten Optionen startet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, typescript
Bereich
devtools, tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.