Chinaunix首页 | 论坛 | 博客
  • 博客访问: 356107
  • 博文数量: 135
  • 博客积分: 425
  • 博客等级: 下士
  • 技术积分: 599
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-19 21:10
文章分类
文章存档

2014年(3)

2013年(79)

2012年(53)

分类:

2012-11-05 20:17:15

原文地址:kernel-ARM stack backtrace 作者:xwills

前言
    对于每个C 语言开发者来说中,内存错误(内存泄漏,内存越界,野指针,空指针等)恐怕是再熟悉不过了。这些错误通常严重级别很高,隐藏很深而且会产生随机错误,即便在很多调试工具的帮助下,为了找到重现的路径,也需要花费大量的时间。对于uClinux来说,情况就更糟糕了,那些在x86上能够导致程序退出的错误,在uClinux中大多数情况下并不会退出而只是产生奇怪的运行结果. 我们知道,这类错误尽管可以在编码时尽量减少却无法做到全部根除,那么,在这类错误产生时,有什么办法能够帮助我们迅速定位呢?此时只能借助kernel 了,如果Kernel 在应用程序出错时dump 出相应的函数调用顺序,那也就离解决问题不远了。
 
全文概要
   本文首先介绍了关于ARM寄存器和APCS(ARM Procedure Call Standard),在了解了函数栈帧(stack frame)之后,我们将看到在一个具体的系统中kernel是如何利用stack frame dump出函数调用顺序的.
 
附件为全文pdf.
 
文件: arm_stack_backtrace.pdf
大小: 249KB
下载: 下载
阅读(1386) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~