标签:c++ 文件 ini 基本 detail dbi ted 跳转 解决方法
一. ubuntu系统,采用gdb调试程序,方法如下:
1)编译源码,gdb只能调试可执行文件。若采用cmake编译C++程序,需要在CMakeLists.txt中添加以下flag,此flag可在调试过程中,提供基本的调试信息和中间变量信息。
SET(GCC_COVERAGE_COMPILE_FLAGS "-g")
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}" )
2)terminal跳转至编译好的可执行文件所在的目录,运行 $ gdb xxxx 即可开始调试程序。
二. 调试多线程程序
我用gdb调试多线程程序时,报错“interrupted system call”,我参考了https://blog.csdn.net/zb872676223/article/details/37906091
解决方法:将gdb设置为non-stop模式,设置方式如下。
打开~/.gdbinit(如果没有这个文件则自己新建一个同名文档),然后添加一下三行即可。
set target-async 1 set pagination off set non-stop on
<疑难杂症>gdb调试多线程程序报错:interrupted system call
标签:c++ 文件 ini 基本 detail dbi ted 跳转 解决方法
原文地址:https://www.cnblogs.com/gdut-gordon/p/9151940.html