我正在尝试学习使用VS代码进行调试。我在中创建了启动配置
launch.json
,用于连接到我的进程(C++程序)。我在macOS上,所以它使用LLDB。它是附加的,我可以在断点处停止并逐步执行代码。但其他方面都不太好。
我的问题将集中在“调试控制台”上。我原以为我可以使用LLDB命令,但事实并非如此。
如果我键入
-exec bt
在“调试控制台”面板中,它会返回一个错误(如下)。其他简单的LLDB命令不起作用。
-exec bt
error: invalid target, create a target using the 'target create' command
-exec info registers
error: 'info' is not a valid command.
-exec p this
error: expression failed to parse:
error: <user expression 13>:1:1: invalid use of 'this' outside of a non-static member function
this
^
我在会员活动中被阻止了,所以
p this
应该起作用。
此“调试控制台”是否未连接到当前LLDB会话?这些命令应该起作用吗?
在我的
launch.json
:
"configurations": [
{
"name": "(lldb) Attach to my_program",
"type": "cppdbg",
"request": "attach",
"program": "${workspaceFolder}/build/macos/my_program",
"MIMode": "lldb"
},
...
我尝试了另一种调试配置,直接启动它,而不是附加(在这种情况下我需要)。在这种情况下(启动而不是附加),我可以运行以下命令
-执行bt
和
-exec p this
。所以附加到一个过程中有些不同。
VSCode:1.79.2
macOS:13.4
扩展码LLDB:1.9.2
LLDB:来自Apple Xcode 14:LLDB-1403.0.17.64