我正在调试核心文件中的分段错误,并尝试获取尽可能多的信息。以下是我的bt
命令的摘要。
(gdb) bt
#0 0x00000000007d4cf1 in alloc_real (vv=0x7f259e9bed20, drop_ssr=false) task_remove.c:2350
#1 0x00000000007d54f8 in ssr_unalloc (vv=0x7f259e9bed20, skip_tree=1 '\001', remove_from_sysmgr=0 '\000') at task_remove.c:2541
#2 0x00000000007e5afb in remove_done (vv=0x7f259e9bed20, status=TE_PASS, multiple_ssr=2) at task_remove.c:7058
#3 0x00000000007ee0f4 in remove_callback (task=0x7f259e9e27d0) at task_remove.c:8790
#4 0x00000000006fe4d5 in proc (arg=0x7f259e9e27d0) at smtproc.c:140
#5 0x00007f25a2cab637 in ?? ()
#6 0x00007f25a55ed998 in ?? ()
从bt
可以知道,该程序在执行task_remove.c:2350
函数的第2350行时在alloc_real
中失败了。
'alloc_real'
的代码还有其他几个函数调用,这些函数调用已通过,因此已从堆栈中删除。
我的问题是
是否有任何方法/机制来获取bt
的{{1}},换句话说,就是使用gdb来调用'frame 0
'的所有功能。