我使用科学的linux。我正在用大量的cpp文件处理C++中的大量代码。现在,它编译成功,但我得到的价值/数据绝对是错误的。此外,我对代码所做的一些小改动会导致seg错误。gdb程序退出代码01使用CMake程序
在目录user/project/Build
中,我输入make
来编译和链接所有的cpp文件。然后我得去user/project/Build/bin/project
通过键入user/run/run.sh
当我去到目录/user/project/Build/bin
运行项目二进制文件,然后键入gdb project
然后run
,我看到 Program exited with code 01. Missing separate debuginfos, use: debuginfo-install glibc..
如果我尝试设置一个断点,这样的由break test.cpp:19
,我得到的消息No source file named test.cpp. Make breakpoint pending on future shared library load?
但我清楚地有一个名为test.cpp的源文件
如何设置断点?考虑到我是Unix的初学者,我应该使用另一个IDE,比如emacs或Qt创建者吗?
要按行号设置断点,需要将'-g'选项传递给C++编译器。这里有一个问题/答案,说明如何做到这一点的典型案例:[用cmake编译并包含调试信息](http://stackoverflow.com/a/8447957/2554472) – 2015-02-24 16:35:21
在我的'Build'目录中,我输入了' cmake -DCMAKE_BUILD_TYPE:STRING =调试../ src'。但我得到的输出是“寻找pthread_create - 找不到。 - Found Threads:TRUE CMake Error at log4cplus/CMakeLists.txt:152(SetupBoost): 未知的CMake命令“SetupBoost”。 - 配置不完整,发生错误! – user4352158 2015-02-24 18:01:51
好的。所以你通常运行'cmake ../ src'并且工作正常? – 2015-02-24 18:06:55