当测试程序或者so在运行过程中出现coredump问题,如下所示:
借助gdb进行调试,可在出现core dump的程序或者so所在目录进行调试,也可在coredump文件所在目录进行调试,以下以在corefile文件所在目录进行调试进行示范:
切换coredump文件所在目录,使用 GDB 打开 coredump 文件
gdb 可执行文件的路径 ./coredump文件
这样coredump文件就已经被加载成功,接下来使用相关命令进行排查,例如:
bt 或 backtrace:显示程序崩溃时的调用堆栈。
info threads:如果程序是多线程的,这个命令会显示所有线程的信息。
frame 命令加上堆栈帧的编号:切换到特定的堆栈帧。
print 或 p 命令加上变量名:打印变量的值。
list 或 l:显示当前堆栈帧中的源代码