当前位置: 技术问答>linux和unix
gdb调试时,run时就退出,请问是什么原因.100分
来源: 互联网 发布时间:2015-11-12
本文导语: 我在UNIX下用GDB调试程序,在RUN后就退出了.请问是怎么回事?? (gdb) file do_yjm //调试的文件名是do_yjm Reading symbols from do_yjm...(no debugging symbols found)...done. (gdb) run //运行程序 Starting program: /u1/home...
我在UNIX下用GDB调试程序,在RUN后就退出了.请问是怎么回事??
(gdb) file do_yjm //调试的文件名是do_yjm
Reading symbols from do_yjm...(no debugging symbols found)...done.
(gdb) run //运行程序
Starting program: /u1/homeho/huhg/do_yjm
/proc/22316/ctl: Permission denied
/proc/22316/status: No such file or directory.
can't open process file
(gdb) (st03)/homeho/huhg> //退出到了提示符下了
很急呀,谢谢
(gdb) file do_yjm //调试的文件名是do_yjm
Reading symbols from do_yjm...(no debugging symbols found)...done.
(gdb) run //运行程序
Starting program: /u1/homeho/huhg/do_yjm
/proc/22316/ctl: Permission denied
/proc/22316/status: No such file or directory.
can't open process file
(gdb) (st03)/homeho/huhg> //退出到了提示符下了
很急呀,谢谢
|
Reading symbols from do_yjm...(no debugging symbols found)...done
---------------------------
注意下划线部分,估计是编译时没有加-g选项
---------------------------
注意下划线部分,估计是编译时没有加-g选项
|
/proc/22316/ctl: Permission denied
这是关键问题。看看/proc的权限设置??按理说不该有问题的。
这是关键问题。看看/proc的权限设置??按理说不该有问题的。
|
我觉得可能是-g的问题
|
找不到symbol可以调试汇编,不会退出的。
|
什么版本的 Unix 啊?
看看那个 Unix 的发行版有没有 GDB 的源码包,
或者是 Patch, 应该先试试自己在机器上编译一下 GDB。
看看那个 Unix 的发行版有没有 GDB 的源码包,
或者是 Patch, 应该先试试自己在机器上编译一下 GDB。
|
查看权限
|
怀疑你对/proc/pid/ 目录下做了不允许的操作
|
应该是没有访问权限 chmod一下。
如果没加-g会提示没有符号表的。
如果没加-g会提示没有符号表的。
|
proc/22316/status: No such file or directory 。。。。。。。。。。。。。。。
这是不是你自己无法打开文件退出了?
这是不是你自己无法打开文件退出了?
|
/proc/22316/ctl: Permission denied
/proc/22316/status: No such file or directory.
can't open process file
------------------------------------
不是告诉你原因了吗?是你的程序的权限不够,把属主改为root试试
/proc/22316/status: No such file or directory.
can't open process file
------------------------------------
不是告诉你原因了吗?是你的程序的权限不够,把属主改为root试试