最近,我从 native 编程切换为托管代码编程。我正在使用.NET。
由于我已经使用Windbg一段时间了,因此我也想将其用于托管代码调试。
我的搜索使我进入了SOS(罢工之子)扩展程序,它似乎有一些强大的命令。
即使我了解SOS中使用的大多数命令,也无法找到适本地逐步处理源代码的方法,就像我可以对本地代码使用p和t指令一样。
这使调试经验变得困难,我真的很想在调试代码时逐步进行调试。
我对此进行了一些研究,发现使用Windbg的6.7.05.0版本可以做到这一点,在该版本中,MS似乎已经发布了集成的托管调试,但是在更高版本中回滚了。
尽管如此,我对能够在通过SOS调试时逐步完成“源代码”非常感兴趣。特别是因为它确实阻碍了我现在的调试经验。
有没有办法做到这一点?
感谢您提供有关如何执行此操作的任何帮助(或实际解决方法)。
最佳答案
Windbg擅长分析崩溃进程的小型转储。但是,它不是托管调试器。
您可以通过在Visual Studio中加载SOS来吃蛋糕。这允许使用托管调试器中提供的常规调试工具,以及可以摆脱SOS的诊断。有一些限制:
开始调试并切换到立即Windows。输入
.load sos.dll
,您应该会看到类似extension C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll loaded
的消息。键入!help并确认您看到列出的SOS命令。关于.net - 使用Windbg SOS扩展单步执行源代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13116549/