microsoft / microsoft/vscode-cpptools
Debugger doesn't launch with lldb (lldb-mi is required)
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 6.2k
- Forks
- 1.7k
- Merge medio
- 14 h 46 min
- PR fusionados (30 d)
- 61
Descripción
Environment
- OS and version: Windows 11 12H2
- VS Code: 1.75.0
- C/C++ extension: 1.13.9
- OS and version of remote machine (if applicable):
- GDB / LLDB version: lldb 15.0.0
Bug Summary and Steps to Reproduce
Bug Summary:
I'm unable to start a debug session with lldb. It always prints an error without doing anything in the terminal or the console.
I tried with both openocd and stm32cubeprogrammer
Debugger Configurations
{
"name": "Debug main app",
"type": "cppdbg",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}\\bin\\debug\\main_app.elf",
"MIMode": "lldb",
"miDebuggerPath": "C:\\LLVM_Arm_Embedded_Toolchain\\bin\\lldb.exe",
"miDebuggerServerAddress": "localhost:3333",
"debugServerPath": "C:\\openocd\\bin\\openocd.exe",
"debugServerArgs": "-f board/stm32f3discovery.cfg",
"serverStarted": "Waiting for connection on port .*\\.\\.\\.",
"stopAtConnect": true,
// "preLaunchTask": "Build",
"svdPath": "${command:vscode-embedded.st.svd}/STM32F303.svd"
},
{
"name": "Debug main app",
"type": "cppdbg",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}\\bin\\debug\\main_app.elf",
"MIMode": "lldb",
"miDebuggerPath": "C:\\LLVM_Arm_Embedded_Toolchain\\bin\\lldb.exe",
"miDebuggerServerAddress": "localhost:3333",
"debugServerPath": "${command:vscode-embedded.st.gdbserver}",
"debugServerArgs": "--stm32cubeprogrammer-path ${command:vscode-embedded.st.cubeprogrammer} --swd --port-number 3333",
"serverStarted": "Waiting for connection on port .*\\.\\.\\.",
"stopAtConnect": true,
"logging": { "engineLogging": true, "trace": true, "traceResponse": true },
// "preLaunchTask": "Build",
"svdPath": "${command:vscode-embedded.st.svd}/STM32F303.svd"
}
Debugger Logs
1: (156) ->ST-LINK device initialization OK
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (156) ->Stm32Device, pollAndNotify running...\r\n"},"seq":54}
1: (156) ->Stm32Device, pollAndNotify running...
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (158) ->SwvSrv state change: 0 -> 1\r\n"},"seq":56}
1: (158) ->SwvSrv state change: 0 -> 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (158) ->Waiting for connection on port 3334...\r\n"},"seq":58}
1: (158) ->Waiting for connection on port 3334...
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (158) ->Waiting for debugger connection...\r\n"},"seq":60}
1: (158) ->Waiting for debugger connection...
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (158) ->Waiting for connection on port 3333...\r\n"},"seq":62}
1: (158) ->Waiting for connection on port 3333...
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (158) Starting: \"C:\\LLVM_Arm_Embedded_Toolchain\\bin\\lldb.exe\" --interpreter=mi\r\n"},"seq":64}
1: (158) Starting: "C:\LLVM_Arm_Embedded_Toolchain\bin\lldb.exe" --interpreter=mi
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (163) DebuggerPid=70428\r\n"},"seq":66}
1: (163) DebuggerPid=70428
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"[Warning] 1: (200) STDERR: error: unknown option: --interpreter=mi\r\n"},"seq":68}
[Warning] 1: (200) STDERR: error: unknown option: --interpreter=mi
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"[Warning] 1: (201) STDERR: Use 'lldb.exe --help' for a complete list of options.\r\n"},"seq":70}
[Warning] 1: (201) STDERR: Use 'lldb.exe --help' for a complete list of options.
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (204) \"C:\\LLVM_Arm_Embedded_Toolchain\\bin\\lldb.exe\" exited with code 1 (0x1).\r\n"},"seq":72}
1: (204) "C:\LLVM_Arm_Embedded_Toolchain\bin\lldb.exe" exited with code 1 (0x1).
--> E (output): {"type":"event","event":"output","body":{"category":"stderr","output":"Starting: \"C:/ST/STM32CubeIDE_1.10.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_2.0.300.202203231527/tools/bin/ST-Link_gdbserver.exe\" --stm32cubeprogrammer-path C:/ST/STM32CubeIDE_1.10.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.0.301.202207041506/tools/bin/ --swd --port-number 3333\r\nStarting: \"C:\\LLVM_Arm_Embedded_Toolchain\\bin\\lldb.exe\" --interpreter=mi\r\nerror: unknown option: --interpreter=mi\r\nUse 'lldb.exe --help' for a complete list of options.\r\n\"C:\\LLVM_Arm_Embedded_Toolchain\\bin\\lldb.exe\" exited with code 1 (0x1).\r\n\r\n"},"seq":74}
Other Extensions
No response
Additional Information
No response
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con la ruta de lanzamiento del depurador representada por la configuración cppdbg proporcionada, especialmente con cómo se usan MIMode y miDebuggerPath. Reproduce el lanzamiento con la configuración registrada y verifica que el ejecutable LLDB seleccionado acepte los argumentos de inicio de MI; se considera terminado cuando la sesión de depuración se inicia sin el error de opción desconocida.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp, vscode
- Área
- devtools
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100