使用WinDbg与Visual Studio调试器的主要原因是什么?
它是否通常用作Visual Studio调试器的完全替代品,或者在需要时用作更多.
如果您想知道为什么要在Visual Studio上使用windbg,那么您需要阅读高级Windows调试.任何时候你需要调试一个真正丑陋的问题windbg有比Visual Studio更好的技术.Windbg具有更强大的脚本语言,允许您编写DLL以自动解决难题.它将安装gflags.exe,它可以更好地控制堆以调试内存覆盖.
您实际上不需要运行安装,您可以只复制文件并准备好.它还会安装adsplus.vb,因此您可以对运行进程进行小型转储.设置执行远程调试也非常容易.没有什么比能够从你自己的办公桌调试问题更好的了,而不是与在测试PC上闪烁的15英寸显示器作斗争.
对于日常代码编写,我使用Visual Studio,但是一旦你需要从其他计算机开始调试问题或发现自己处于非常丑陋的状态,windbg是唯一的方法.花一些时间学习windbg是一项很好的投资.另外,如果你看崩溃转储,有两个很好的资源,http : //www.dumpanalysis.org/blog 和http://blogs.msdn.com/ntdebugging/default.aspx,它们使用windbg进行所有调试.
以下是一些有助于使用WinDbg的更多链接,大多数都是特定于.NET的.
John Robbins谈到使用cmdtree创建命令窗口.
这是一个快速的WinDbg/SOS备忘单.
如果破了,修复它你应该有一堆WinDbg/Sos相关文章,主要是围绕调试ASP.NET.
以下是来自MSDN mag的SOS旧概述.它是关于.NET 1.1所以它的年龄显示.
您没有指定是调试本机代码还是托管代码.它不会影响答案,WinDbg对两者都非常有用,但很多人认为WinDbg在调试.NET应用程序时不太相关.不是这样.作为奖励,您可以通过使用SOS扩展在WinDbg中调试.NET应用程序来了解.NET平台的工作原理.在WinDbg中运行(或附加)您的.NET应用程序并键入...
.loadby sos mscorwks
...确保为正在使用的CLR版本加载正确的扩展名.然后输入......
!help
...查看SOS扩展中可用的命令.
我听说它开玩笑说微软只有一个开发者工具,而且它是WinDbg.您可能想要调试的所有内容都在那里或扩展中.当然,这些东西的一部分也可以在VS中使用更友好的UI ...... :-)