一、将如下文本写入.gdbinit文件,其中路径根据实际调整,并将文件放到用户根目录下,比如/home/username、/root
add-auto-load-safe-path /usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22-gdb.py
set auto-load safe-path /
python sys.path.append("/usr/share/gcc-6/python")
handle SIGPIPE SIGXCPU SIG33 SIG35 SIG36 SIG37 SIG38 SIGPWR nostop noprint
define mono_backtrace
select-frame 0
set $i = 0
while ($i < 1000)
set $foo = (char*) mono_pmip ($pc)
if ($foo)
printf "#%d %p in %s\n", $i, $pc, $foo
else
frame
end
up-silently
set $i = $i + 1
end
end
二、附加进程查看栈信息
gdb attach $pid
$pid替换成实际的进程ID
在gdb的命令行下输入以下指令可以查看栈信息
mono_backtrace