Windows调试器路线图

Bre*_*ias 5 windows debugging crash-dumps

似乎微软生产了许多调试器和调试工具,它们创造了一个关于应用哪种工具以及何时应用的迷宫选择和问题.例如,有windbg - 以及Visual Studio中内置的调试器.两者都可以访问小型转储.为什么我会选择一个而不是另一个?

沃森博士是过去默认的死后崩溃分析工具.它现在已被"问题报告和解决方案"所取代.哪个更换为服务器上的IIS异常监视器?也许所有这些都建立在"Microsoft CDB Debugger"之上,或者这可能是另一个重复的工具?另一个ADPlus是基于CDB调试器构建的.迷宫似乎无休止地继续下去.

有人可以提供所有这些工具的分类法或路线图的链接,其中的评论被弃用(Dr.Watson?)以及调试学生应该吸收的"工具方向"?我敢肯定,我在这里没有提到过许多工具和基础库.知道它们之间的依赖关系(例如使用CDB调试器的ADPlus)会很高兴.

我发现这个链接很有帮助,因为它回答了我要问的一些问题 - 尽管材料已经过时了.任何其他资源可以提供类似简单的比较/对比度减少?

i_a*_*orf 4

CDB 和 NTSD之间没有任何区别,除了它们如何生成新窗口之外。选择何时使用 Visual Studio 而不是命令行调试器有时是个人选择的问题,但有时命令行是完成这项工作的更好工具。一旦您擅长使用命令行调试器,您就可以更快地完成工作。我怀疑在某些情况下您只能使用命令行调试器调试特定问题,但我想不出任何临时解决方案。您错过的第三个调试器是 kd,它是内核调试器。如果您想调试内核模式的东西(即您编写的设备驱动程序),它确实是您唯一的选择。

CDB、NTSD和KD都是Windows调试工具的一部分,本身也是DDK的一部分。Visual Studio 不依赖于其他调试包,反之亦然。

Watson 等不是调试器。他们只是观察和报告。我怀疑最好的建议是使用适合您的问题的建议。我的意思是,有很多工具适用于各种不同的质谱技术。例如Orca用于 MSI 数据库。所有这些产品都是不相关的,通常由不同的部门发布和维护等。因此,我怀疑您是否会找到显示它们关系的图表,因为它们是如此多样化。