分类: 系统运维
2009-03-23 19:53:34
l 内存腐蚀错误
内存出错是一种普通的程序错误,但是却很难跟踪和定位。普通的断点,单步调试,和观察很难发现。因此,查看内存成了必须的手段之一。
通常的调试工具有集成内存和资源跟踪调试,比如说CodeGuard,他需要重新封装函数。这种错误可以自动检测:
另一种工具是在代码中插入一小段代码,以勾住比较重要的函数,不如说malloc(),free()。这种方法不需要重新编译和链接。
l逆向执行
当用户运行过快,想退回到之前某一点的状态的时候,调试器也应该支持这种功能。一般有以下几种方法可以实现:
l 远程调试
远程调试使得调试器能够从目标应用程序分离开,避免了和目标进程相互影响。
远程调试器需要在目标机器上安装一个小的代理调试器。主调试器并不创建子进程或者期望操作系统通知它发生了什么事,而是通过接收和发送命令来实现的。
l 分布式目标调试
应用程序构建分布式目标对调试器来说是一个新的挑战。调试器应该使得目标之间尽可能的透明,除非该目标是我们要调试的。
远程过程调用是实现分布式目标的一种机制。
l 运行时调试辅助
l 并行体系结构调试