【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指定目录也不行)~

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

posted on 2014-12-24 17:11  MiniMoon0616  阅读(116)  评论(0)    收藏  举报