【问题标题】:VS Code can't step into linked library projectVS Code 无法进入链接库项目
【发布时间】:2020-12-13 03:50:09
【问题描述】:

VS Code 1.48、Ubundu 18.04、cmake 3.10、gdb 8.1-ubuntu3.2、gcc 7.5.0。

VSC newb、ubuntu newb、unix 经验丰富、cmake 经验丰富、gdb newb、c++ grizzled vet。我主要是一个 Windows 人,尽管自 90 年代初的大学以来我已经涉足了各种风格的 Unix。 喘息

我有两个项目目录加载到我的 VSC 工作区中......都是用 C++ 编写的,并带有一些 Python。第一个,我们称它为 Orc,效果很好。它的所有测试都通过了,它的 cmake 定义的安装运行得很好。生活是美好的。

第二个项目,我们将调用 Elf,构建良好,并且工作正常,直到它需要依赖 Orc,此时我遇到了 seg 错误。对同一个库的另一个调用成功(版本检查:琐碎,无参数),但我也无法介入。当需要告诉兽人做一些实际的工作时:繁荣。我也没有注意到任何即将被审问的核心转储。

(附带问题:VSC 将其核心转储存储在哪里?)

我确保这两个项目都是调试版本。他们都使用相同版本的Boost。我已经成功地在 Windows 上的 Orc 和 Elf 中运行了我们所有的单元测试。

我需要做些什么才能进入 Orc 以便了解发生了什么问题?

【问题讨论】:

  • 另外,当我在有问题的 Orca 函数上“f12”时,它会将我带到文件的已安装版本...嗯...我是否还需要安装调试输出文件?我不确定他们的扩展名是什么。

标签: c++ debugging visual-studio-code gdb


【解决方案1】:

我在CMakeLists.txt 中添加了以下内容,它似乎很高兴。不过可能有更好的方法。

if (UNIX)
  add_definition(-ggdb)
endif()

缺点:总是将 -ggdb 添加到 Linux 构建中,包括发布......而不仅仅是调试变体。非 gdb 调试器的问题。

我猜有更好的方法来指定这样的仅调试标志,但我不确定那可能是什么。我正在熟悉 CMake,但我不是专家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-09
    • 2021-05-28
    • 1970-01-01
    • 2015-04-27
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多