2020年1月6日

在Windows Vista中,在指定的Win32最后一个错误值中断

摘要: 通常,您可能希望在调试器中跟踪的一类问题(除了崩溃)是某个特定函数以某种方式失败。在大多数Win32函数的情况下,通常会得到某种(希望是有意义的)最后的错误代码。有时,您可能需要知道返回错误的原因或错误的来源(在最后一个错误值通过几个函数向上传播的情况下)。一种可能的方法是使用条件断点,但是SetL 阅读全文

posted @ 2020-01-06 15:39 活着的虫子 阅读(436) 评论(0) 推荐(0) 编辑

我倾向于使用发布版本进行调试,而不是使用调试版本

摘要: 我发现自己在工作中和工作之外不时支持的一件事是使用程序的发布版本(无论如何,对于Windows应用程序)进行调试的价值。乍一看,这可能与某些人的想法相矛盾,因为人们往往认为调试构建实际上更适合调试(毕竟它被命名为“调试构建”)。 然而,我倾向于不同意这种观点,理由有如下几个: 仅在调试版本上调试是不 阅读全文

posted @ 2020-01-06 14:58 活着的虫子 阅读(273) 评论(0) 推荐(0) 编辑

常见WinDbg问题及解决方案

摘要: 当你调试一个程序时,你最不想处理的是调试器不能正常工作。当你试图集中精力跟踪一个bug时,总是会因为次要的问题而被忽略,尤其是当调试器的问题导致你失去一个重新编程或者浪费了大量的时间等待调试器完成它,而调试器知道这需要永远做些什么的时候。 这是我时常会遇到的大量问题,所以我整理了一些常见问题的简短列 阅读全文

posted @ 2020-01-06 13:53 活着的虫子 阅读(774) 评论(0) 推荐(0) 编辑

在崩溃转储中查找所有可能的上下文记录

摘要: 如果您调试了一段时间的崩溃转储,那么您可能遇到了这样的情况:调试器提供的初始转储上下文对应于在处理初始异常时发生的第二个异常,该异常可能更接近您正在调查的问题中的原始基础问题。这可能很烦人,因为“.ecxr”命令将指向次要故障异常的位置,而不是原始异常上下文本身。然而,在大多数情况下,原始的、主要的 阅读全文

posted @ 2020-01-06 11:47 活着的虫子 阅读(315) 评论(0) 推荐(0) 编辑

向C/C++程序员介绍Windbg 脚本

摘要: 来自Windows调试工具包的所有调试程序都使用相同的引擎dbgeng.dll。它包含一种特殊语言的脚本解释器,我们称之为WinDbg脚本语言以方便使用,我们对WinDbg脚本文件使用WDS文件扩展名。下面是在分析一个脚本时捕获的WinDbg线程的调用堆栈: 0:000> ~1kL 100 Chil 阅读全文

posted @ 2020-01-06 10:28 活着的虫子 阅读(1023) 评论(0) 推荐(0) 编辑

导航