0

我遇到了一个coredump,使用gdb xxx core.1234,然后是“bt”,得到那些消息:“0x6f636d6f in ??()”,其中函数名不可读。我想学习:1.在什么情况下gdb bt 节目“??” 作为函数名?2.如何避免这些“??” 并获得可读的函数名称?

4

2 回答 2

2

地址 0x6f636d6f 几乎可以肯定是无效的(即,位于进程的内存空间之外),并且可能是堆栈损坏的结果——它对应于 ASCII 字符ocmo

于 2012-07-14T04:05:15.003 回答
0

1 案例:堆栈已损坏。
2 案例:代码通过优化编译(不确定)。
3 案例:你启动 gdb 错误(例如 gdb ./app --core core_name)。

于 2012-07-14T03:20:01.543 回答