c++ - VS Code 无法进入链接库项目
问题描述
VS 代码 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。尽管我在 90 年代初的大学时代就涉足了各种风格的 Unix,但我主要是一个 Windows 人。 喘息
我有两个项目目录加载到我的 VSC 工作区中......都是用 C++ 编写的,并带有少量的 python。第一个,我们称它为 Orc,效果很好。它的所有测试都通过了,它的 cmake 定义的安装运行得很好。生活很好。
第二个项目,我们将调用 Elf,构建良好,并且工作正常,直到它需要依赖 Orc,此时我遇到了 seg 错误。对同一个库的另一个调用成功(版本检查:琐碎,无参数),尽管我也无法介入。当需要告诉兽人做一些实际的工作时:繁荣。我也没有注意到任何即将被审问的核心转储。
(附带问题:VSC 将其核心转储存储在哪里?)
我确保两个项目都是调试版本。他们都使用相同版本的Boost。我已经成功地在 Windows 上的 Orc 和 Elf 中运行了我们所有的单元测试。
我需要做什么才能进入 Orc,这样我才能看到出了什么问题?
解决方案
我将以下内容添加到我的CMakeLists.txt
,它似乎很高兴。不过,可能有更好的方法来做到这一点。
if (UNIX)
add_definition(-ggdb)
endif()
不利的一面:总是将 -ggdb 添加到 Linux 构建中,包括发布......而不仅仅是调试变体。非 gdb 调试器的问题。
我猜有更好的方法来指定这样的仅调试标志,但我不确定那可能是什么。我正在熟悉 CMake,但我不是专家。
推荐阅读
- c++ - 基于构造函数参数推导模板特化
- postgresql - 如何在 Airflow cfg 中存储 SQL 连接密码?
- rest - 通过 tweeter api 使用“@”和“#”发推文
- ios - ICS 文件未在 iPhone 中添加事件。在 Iphone 中使用 ics 添加事件的任何想法?
- r - 如何格式化 data.frame 和 ggplot 中的日期?
- c# - 在c#中使用字符串的数据类型列表创建元组
- python - 即使键存在,Python dict.get(k) 也不返回
- excel - 使用在运行时创建的 CommandButton 在 MultiPage UserForm 上创建更多页面
- unity3d - 如何通过脚本将 Kinematic 更改为 Dynamic?刚体2d
- apache - 在 VirtualHost 和 .htaccess 中使用 Require