GDB在线调试

时间:2024-05-31 07:02:11

 

步骤1

GDB在线调试

1.  停止apache

2.  gdb运行apache

3.  gdb下启动apache

4. 启动后,执行你那个请求(导致coredump的请求)

 

步骤2:

GDB在线调试

1. 执行请求后,apache codedump了

2. bt打出调用栈

3. 当前coredump的线程的调用栈

4. 栈顶就是出问题的地方

5. 往下找找到resultset_to_inputsrc_group函数,是我们自己的函数,那就是这个函数内死的。

6. 调用栈的调用关系 看,是调用了ap_log_error死了,我们的DPRINT是有这个调用的。 根据调试日志,你就查到哪个DPRINT了

 

出问题代码如下:  根据调试日志和gdb打出的调用栈可以定位到如下框中的代码变参有问题

GDB在线调试