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

最佳答案

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

10-08 04:05