WinDbg能告诉我Visual Studio不能做什么?

时间:2013-05-28 20:09:47

标签: c++ debugging dll visual-studio-2012 windbg

我仍然是C ++的相对新手,我遇到了第三方DLL的问题,我正在静态链接到我的本机C ++ DLL。我正在使用Visual Studio 2012来调试我的DLL。

(FWIW,第三方DLL是Sybase Open Client,我正在通过我编写的C#可执行文件调试我的DLL,它可以动态加载我的C ++ DLL。)

我已经使用Visual Studio进入反汇编并查看第三方DLL的寄存器和内存使用情况。 Visual Studio给了我很多关于我的过程中发生了什么的很好的信息,但我觉得可能有更多的信息比我看到的更多,也许是一种更简单或更有效的方式来实现它。

我读过WinDbg是一个非常强大的工具,但要学会好好使用它需要花费大量的时间和精力。我的问题是:学习使用WinDbg是值得的,还是Visual Studio中的调试工具会给我几乎相同的信息?

1 个答案:

答案 0 :(得分:3)

  

我的问题是:学习使用WinDbg是否值得付出努力   Visual Studio中的调试工具给我几乎一样的东西   信息?

这实际上取决于你正在做什么样的编程。

WinDBG允许您查看操作系统内部的结构。它允许您查看整个系统中的线程和进程,并调试在OS内核本身(例如驱动程序)中运行的代码。编写脚本以挖掘某些信息有很大的能力,或者,我相信,甚至可以编写在WinDBG中运行的插件来执行某些任务。

使用VS型调试器时,大多数情况要么很困难,要么不可能。

我或其他任何人几乎不可能告诉您是否应该学习使用WinDBG。这对你来说无疑是有害的,但完全有可能在你的生活中花费很长时间而不需要它。