假如我们要调试的程序的名字是hello,路径是/usr/local/hello,保存在变量process_path中,process_path=“/usr/local/hello”,使用process_id保存进程的id,process_id=`ps -ef|grep "$process_path"|grep -v "grep"|awk '{print $2}'`然后就可以使用gdb了,如下:
DATE=`date "+%H:%M:%S:%s"
gdb /usr/local/hello $process_id << EOF > log$DATE 2>&1
thread apply all bt full
bt
detach
quit
EOF