我使用科學的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