我想转储我的程序的堆栈跟踪,例如在backtrace[3]上演示的例子,但是我得到了下面的结果。Stacktrace arm-linux-gcc
我正在使用linux 2.6和arm-linux-gcc 4.3.2。
运行:
arm-linux-gcc prog.c -o prog -rdynamic
结果是:
回溯()返回1个地址
/lib/ld-linux.so.3 [0x40025000]
你能帮我解决这个问题吗?
感谢
我没有用gcc任何问题,但我不能得到与ARM-Linux的gcc的痕迹。
感谢您的评论,但我没有得到预期的结果(没有backtrace_symbols的消息),我在设备上工作的是_mini 2440_ – Ocean
可能是您的版本** glibc **或** uclibc * *不包含针对您的架构的'backtrace()'的工作实现。在我曾经参与过的一个项目中,我们不得不推出自己的'backtrace()',因为现有的没有完全实现。如果是这种情况,[这个答案](http://stackoverflow.com/a/2536136/203667)可能会有一些帮助。可能是 – jschmier
! linux内核会在出现问题时转储堆栈跟踪,我检查你的建议。感谢您的评论@ jschmier – Ocean