+ -
当前位置:首页 → 问答吧 → 设备出现crash了,打出了函数调用栈,有什么办法可以看到哪一行crash?

设备出现crash了,打出了函数调用栈,有什么办法可以看到哪一行crash?

时间:2010-08-25

来源:互联网

nt=0# Stack backtrace:                                                                                                           
#  0: 00434f9c <WLBM_WriteFlashFrowSll+0x80>  (/usr/sbin/wapd)                                                                  
#  1: 00434f74 <WLBM_WriteFlashFrowSll+0x58>  (/usr/sbin/wapd)                                                                  
#  2: 00434ec4 <WLBM_WriteFlashTaskEntry+0xec>  (/usr/sbin/wapd)                                                                 
#  3: 00434dd8 <WLBM_WriteFlashTaskEntry+0x0>  (/usr/sbin/wapd)                                                                  
#  4: 2ac3b870 <pthread_attr_setschedparam+0x4c>  (/lib/libpthread.so.0)  

调用栈如上所示, 只能看到函数内的便宜,但是不知道便宜对应的是哪一行,有什么办法可以反编译firmware 文件或者 程序文件 ?

作者: tankejin   发布时间: 2010-08-25

用addr2line -e /usr/sbin/wapd 0x00434f9c就可以直接看到。当然,/usr/sbin/wapd要是带-g编译的。
还有就是用GDB了。

作者: kartwall   发布时间: 2010-08-26

内核调试的时候有没有这种命令?

作者: ljysyn   发布时间: 2010-08-26