Linux 在脚本中运行gdb时自动获得退出
我尝试使用gdb调试一个由脚本创建的新进程。 在linux shell中,我尝试了以下方法:Linux 在脚本中运行gdb时自动获得退出,linux,bash,Linux,Bash,我尝试使用gdb调试一个由脚本创建的新进程。 在linux shell中,我尝试了以下方法: ps -ef | grep -i [m]yprocess | awk '{print "gdb -p " $2}' | sh 每次,gdb都会自动得到一个“退出”,然后退出: ***0xf7788430 in __kernel_vsyscall () Missing separate debuginfos, use: debuginfo-install glibc-2.17-105.i686 l
ps -ef | grep -i [m]yprocess | awk '{print "gdb -p " $2}' | sh
每次,gdb都会自动得到一个“退出”,然后退出:
***0xf7788430 in __kernel_vsyscall ()
Missing separate debuginfos, use: debuginfo-install glibc-2.17-105.i686 libgcc-4.8.3-10.i686
(gdb) quit
A debugging session is active.
Inferior 1 [process 834] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]***
我能做些什么来解决这个问题呢?你只需要
gdb -p `pgrep myprocess`
我猜奇怪的行为是STDIN不是终端,而是来自
awk
的管道的结果,看起来消息告诉您调用debuginfo安装glibc-2.17-105.i686 libgcc-4.8.3-10.i686
。也许查看一下debuginfo安装会有帮助吗?如果手动输入像“gdb-p myprocess_id”,它就可以工作了。所以这不是我得到“退出”的直接原因谢谢!我试了几次,然后意识到问题可能出在管道上。由于导出abc=$(pgrep'myprocess')| gdb-p$abc仍然得到退出。因此,现在我使用的是脚本,而不是由管道分隔的单行命令