Mbd*_*ded 8 c++ gdb cmake clion
我有Linux系统,我编写程序使用Clion IDE,使用CMake.我有一个部分我的程序,我想调试子进程 我从这个论坛阅读了一些主题,但我仍然不知道如何或在哪里,我可以打开这个功能:
fork之后的gdb调试子进程(跟随fork-mode子配置)
我只是尝试设置标志CMAKE_CXX_FLAGS_DEBUG ,set follow-fork-mode child但CMake给我错误.下面的屏幕截图包含用于编译和dbug我的程序的所有标志.那么我必须设置这个功能的地方和地点.
..::编辑::..
我相信这是好方法.我认为你的提示很有用,但我有下一个问题.使用您的说明后,我的代码就会崩溃
pid_t newProcessForClient = fork();
Run Code Online (Sandbox Code Playgroud)
声明是:
(gdb)设置follow-fork-mode子句[新进程31667]警告:文件"/lib32/libthread_db-1.0.so"自动加载已被``auto-load safe-path'设置为"$ debugdir: $ DATADIR /自动加载".警告:无法找到libthread_db匹配劣质的线程库,线程调试将无法使用.[切换到过程31667]继续信号SIGABRT.
程序终止,信号SIGABRT,Aborted.该计划已不复存在.
调试设置与cmake无关。CMAKE_CXX_FLAGS_DEBUG 状态编译器的调试标志。但是,您需要将set follow-fork-mode child告诉调试器。为此,您需要执行以下步骤:
在程序的开头设置断点(即父程序,而不是子程序)
在调试器中启动程序。
根据 gdb 的文档,命令set auto-load safe-path /应该切换自动加载限制。
| 归档时间: |
|
| 查看次数: |
3278 次 |
| 最近记录: |