使用Visual Studio中的windbg

ngo*_*eff 5 debugging windbg visual-studio-2010

是否有可能使用WinDbg命令状!locks,并.loadby sos mscorwks从Visual Studio命令窗口(在调试会话)?我注意到我可以使用例如k打印堆栈跟踪,所以我想知道是否有某种方法可以访问其他命令.

fer*_*anj 8

是的,你可以这样做.

  1. 将Visual Studio 2008附加到您的调试过程.
  2. 打破一些代码.
  3. 转到即时窗口
  4. 类型 !load sos
  5. 现在你可以自由使用任何windbg命令了 !EEHeap,!DumpHeap

有一些条件.您需要在项目属性中启用非托管代码调试.通常在64位版本的工作室不支持这一点.

玩得开心.

  • 很抱歉在这里挑剔,但这些不是WinDbg命令,而是SOS命令.不幸的是,常规的WinDbg命令不能从VS afaik获得,这使得使用SOS有点困难.此外,VS不支持所有必需的IDebugClient接口,因此SOS的输出在VS中有点嘈杂. (8认同)
  • `!load sos`在VS2013上失败:'identifier'load"未定义". (3认同)
  • Brian是对的,问题的严格答案是否定的.SOS不是WinDbg.此外,WinDbg有一个x64版本,而SOS没有,即如果你想调试x64应用程序而不将它们重新编译为32位然后是WinDbg,*在VS*之外,是唯一的出路 (2认同)