码迷,mamicode.com
首页 > 系统相关 > 详细

linux下打印用户态段错误信息的一种方法

时间:2015-04-15 21:06:57      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

引自:韦东山嵌入式视频第二期 “第31课第3节_应用调试之配置修改内核打印用户态段错误信息_P” 第6分钟起。

1.配置内核支持DEBUG_USER  (勾选 Kernel hacking -> Verbose user fault messages[*] 即可)(视频第8:23)

2.设置bootargs,添加参数 user_debug = 0xFF 即可。 user_debug的每一位代表设置不同的模式,具体模式可参考文件:include/asm-arm/System.h下的UDBG_XXX。

如果执行有段错误的程序时会有详细错误信息打印出来。

你可以根据PC值和各个寄存器值来定位错误位置。

首先对问题应用程序进行反汇编: arm-linux-objdump -D  FileName > AnotherFile 

然后打开AnotherFile查看反汇编,定位PC值处的指令即可。

 

附:

查看系统调用函数的地址范围:查看文件system.map即可。

查看当前系统某个函数所在地址:查看/proc/kallsyms文件(文件较大,最好重定位到文件后再查看)

查看函数调用顺序: strace -o xxxFile  ./xxx   然后查看xxxFile即可

 

linux下打印用户态段错误信息的一种方法

标签:

原文地址:http://www.cnblogs.com/yinsua/p/4429766.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!