gdb多线程一般调试步骤
以工作中遇到的问题为例:调试程序robotGcs
robotGcs有以下特点:
- QT(C++) 编写
- 多线程
- 多个plugins组成
而出问题的是在一个新写的plugin,命名为ReadCarInfo。该plugin起了两个线程,而每个线程都会以定时器的方式定时触发做任务。
出现的第一个问题是由于自己粗心大意,未给即将使用的类指针分配空间!!!,导致运行时crashed,而且诡异的是,多次crashed的报错使用gdb追踪都不一样。多亏了给力同事,稍微看看就指出这个错误。
ulimit为shell内建指令,可用来控制shell执行程序的资源
ulimit -a
ulimit -c
设置
ulimit -c unlimited
gdb调试步骤:
1、输入
gdb robotGcs
//带参数
gdb --args