GDB在线调试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011857683/article/details/81747331

 

步骤1

1.  停止apache

2.  gdb运行apache

3.  gdb下启动apache

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

 

步骤2:

1. 执行请求后,apache codedump了

2. bt打出调用栈

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

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

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

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

 

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

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页