通过管道传参调用gdb attach后自动退出问题求助
解决gdb通过xargs附加进程后自动退出的问题
问题根源:用管道+xargs传递PID给gdb attach时,gdb的标准输入会被管道接管,管道内容读取完毕后触发EOF,gdb检测到后就自动执行quit退出了。
给你几个可行的解决办法:
用GNU xargs的
-o选项,让gdb的标准输入指向当前终端:echo 45432 | xargs -o gdb attach如果你的
xargs不支持-o选项,或者需要跨平台兼容,可以通过子shell让gdb重新连接终端:echo 45432 | xargs sh -c 'gdb attach "$1" < /dev/tty' --更直接的方式:先把获取到的PID存成变量,再执行
gdb attach,完全避开管道问题:# 替换成你的ps+grep命令 pid=$(ps -ef | grep 你的进程关键词 | grep -v grep | awk '{print $2}') gdb attach $pid
内容的提问来源于stack exchange,提问作者Chuang Liu
相关产品推荐
相关产品推荐

