首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年3月12日

摘要: 保存 dumps 在我们调试不容易重现的问题时,可能想把应用程序状态的快照(内存内容,打开名柄的列表,等等)保存起来,以便日后分析。例如,当我怀疑当前的状态可能包含我试图解决的问题的关键点,而想继续运行应用程序来查看情形怎样发展时,它就很有用了。有时候,我会做一系列的快照,一个接一个,以便稍后我能比较它们,查看在应用程序运行时有些数据结构怎样变化。当我最终能重现这个问题时,我总是创建一个快照来确保我没有因为某些错误(错误关闭了调试会话)而丢失有价值的信息。或许,大家不难猜到当我说“快照”时,我真正的意思是“minidump”,因为minidump为随时保存应用程序的状态提供了便利。 阅读全文

posted @ 2009-03-12 22:23 饭后爱 阅读(428) 评论(0) 推荐(0) 编辑

摘要: 导言 你钟情什么样的调试器?如果你问我这个问题,我会回答是“Visual Studio + WinDbg”。我比较喜欢Visual Studio那朴实无华且易操作的接口,更喜欢它能迅速把我需要的信息以可视的形式展示出来。但遗憾的是,Visual Studio调试器无法获取某些信息。例如,假设我想知道哪个线程正在占用特殊的临界区?或者是哪个函数占用了大部分的栈空间?不用担心,有WinDbg呢。它的命令能回答这些问题,以及调试过程中出现的其它有趣的问题。甚至不退出Visual Studio,WinDbg就可以附上目标应用程序――谢谢WinDbg支持入侵模式的调试(本文后面会详细讨论),我们可以把Visual Studio GUI和WinDbg的命令行结合起来使用。 唯一的问题是WinDbg不太好用。需要花些时间适应它的用户界面,而掌握它的命令则要花更多的时间。但是假设你现在就需要它,马上用它调试紧急的问题?有什么快速简便的方法吗?当然。WinDbg的小弟CDB,功能和WinDbg差不多;因为它是基于命令行的,所以用起来更简单一些。在这篇文章里,我将把CDB作为Visual Studio 阅读全文

posted @ 2009-03-12 20:32 饭后爱 阅读(420) 评论(0) 推荐(0) 编辑

摘要: WinDbg是微软开发的免费源码级调试工具。Windbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。由于大部分程序员不需要做Kernel模式调试, 我在这篇文章中不会介绍Kernel模式调试。Kernel模式调试对学习Windows核心极有帮助。如果你对此感兴趣,可以阅读Inside Windows 2000和Windbg所带的帮助文件。 这篇文章得主要目的是介绍WINDBG的主要功能以及相关的命令。关于这些命令的详细语法,请参阅帮助文件。对文章中提到的许多命令,WINDBG有相应的菜单选项。 阅读全文

posted @ 2009-03-12 20:27 饭后爱 阅读(797) 评论(1) 推荐(0) 编辑