存档

2010年8月 的存档

巧用backtrace系列函数,在不具备gdb环境的Linux系统上大致定位段错误位置

2010年8月24日 没有评论

巧用libc backtrace系列函数,在不具备gdb环境的类Linux系统上大致定位段错误位置

分类: LinuxDev 标签:

gdb 和 watchpoint

2010年8月14日 8 条评论

watchpoint,顾名思义,其一般用来观察某个变量/内存地址的状态(也可以是表达式),如可以监控该变量/内存值是否被程序读/写情况。
watchpoint可以看成是一种特殊的”断点”, 其实现一般需要CPU支持硬件断点,如果纯软件实现watchpoint,那好像会很耗CPU.(我没去看gdb的软0watchpoint的实现,有时间得去研究下,不过如果让我来实现这个功能(和同事讨论过),应该是设置watchpoint所在的那个页表为不可读/访问,然后在缺页处理那检测当前的页和地址是否是软设置watchpoint所在的页和watchpoint的地址,如果是,则说明可以假设该watchpoint发生了). 目前支持watchpoint硬件断点的arch有x86,ppc和mips。

分类: gdb 标签: ,

GDB十分钟快速入门教程

2010年8月13日 3 条评论

本文转载自liigo’s blog

gdb快速入门教程,本文内容简约而不简单,强烈推荐初学的朋友看看。

分类: gdb 标签: ,

x86 调试寄存器

2010年8月11日 没有评论

英文官方介绍《Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide》第16章-- DEBUGGING, PROFILING BRANCHES AND TIME-STAMP COUNTER