【GDB】调试程序

目录结构如下:

    bin       src           start.sh       stop.sh           

     |          |                                                         

   serv    *.[ch]                                                 

 

脚本内容很简单

#!/bin/bash

./bin/serv

 

使用脚本将程序启动(程序编译时使用了 -g),并用ps命令查询其运行进程ID为 7138

1003      7138  0.1  0.7 160016 57748 ?        S    16:27   0:01 ./bin/serv 

使用gdb调试时,遇到这么个问题

1-出错情况

  进入bin目录,输入命令:gdb serv 7138   或者 gdb -p 7138

  使用list,总是找不到源码。

 

2-正常情况

  在 start.sh 脚本所在目录,输入命令:gdb ./bin/serv 7138  或者 gdb -p 7138

  使用list,就能够找到源码

 

猜测:跟程序的运行目录有关么? 在ps时,找到的程序位置是 ./bin/serv  ,所以在bin目录gdb就找不到源码么?  这是为什么呢?  出错的那种情况怎么修正呢(使用dir指定目录也不行)~

大神门,谁知道,请告我~  谢谢~

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。