Ian*_*oyd 5 debugging visual-studio
如果应用程序†崩溃,
我点击"Debug",Visual Studio是我目前注册的实时(JIT)调试器:
Visual Studio出现,但没有办法调试任何东西:
其他JIT调试器产品能够显示反汇编,但它们是基于命令行的(Windows调试工具),或者不支持符号(OllyDbg,Delphi).另外,我的问题是关于使用Visual Studio进行调试,因为我已经安装了它,它已经是我的注册JIT了.
如何使用Visual Studio调试程序?
或者:有没有人写过支持Microsoft符号服务器的图形化调试器?
†不一定是用Visual Studio编写的.
编辑:将标题更改为进程而不是应用程序,因为后者以某种方式暗示" 我的应用程序".
编辑:假设原始应用程序是由Steve Gibson用汇编语言编写的.也就是说,没有源代码或调试信息.Visual Studio应该仍然能够向我显示程序集转储.
从屏幕截图来看,Visual Studio 当前正在运行模式下进行调试 - 您需要中断进程的执行,然后才能查看调用堆栈等内容......
要中断进程的执行,您需要命中断点,或者可以通过使用“暂停/中断所有”工具栏项 ( Control++ )随时中断进程的执行。AltBreak
然后您应该能够在“调试”->“窗口”菜单下访问以下窗口:
其他一些有用的窗口:
默认情况下,其中一些可能不可见,具体取决于您首次启动 Visual Studio 时选择的窗口配置 - 如果找不到它们,请右键单击工具栏并转到自定义以添加它们。
Visual Studio 不会通过反汇编重建源代码 - 您确实需要拥有可用的原始源代码,否则符号几乎肯定不会与您正在调试的源代码匹配。
如果您正在调试没有源代码的非托管模块,那么我建议您至少尝试一下WinDbg - 它的用户界面有时有点笨拙,并且它确实有一个陡峭的学习曲线,但是它是一个非常强大的调试器,支持 Visual Studio 所提供的许多功能。不 - 它可能更适合您需要进行的调试。
(Visual Studio 是一个很棒的调试器,但它主要用于调试源代码可用的模块,因此它缺乏某些有利于更好的用户体验的功能)。