代码之家  ›  专栏  ›  技术社区  ›  Rob N

Visual Studio Code的调试控制台不运行像LLDB这样的基本命令?

  •  0
  • Rob N  · 技术社区  · 1 年前

    我正在尝试学习使用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

    0 回复  |  直到 1 年前
        1
  •  0
  •   Rob N    1 年前

    这是我干的。我的主要错误是没有更改我的启动配置以指向新的扩展。关键: "type": "cppdbg" 是错误的。应该是 "lldb" 相反,作为 documented here

    例如:

    {
        "name": "(lldb) Attach to myapp",
        "type": "lldb",
        "request": "attach",
        "program": "${workspaceFolder}/build/macos/myapp"
    },
    

    我还必须设置扩展 lldb.library 设置为指向我的自定义LLDB构建。

    "lldb.library": "/Dev/llvm-project/build_phase3/lib/liblldb.dylib"