Chinaunix首页 | 论坛 | 博客
  • 博客访问: 126655
  • 博文数量: 11
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-24 15:58
文章分类

全部博文(11)

文章存档

2009年(11)

我的朋友

分类: LINUX

2009-07-25 10:41:41

前言
    对于每个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
下载: 下载
阅读(8344) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~