Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 有没有办法使用visual studio命令提示符进行调试?_C++_C_Visual Studio_Visual Studio Debugging - Fatal编程技术网

C++ 有没有办法使用visual studio命令提示符进行调试?

C++ 有没有办法使用visual studio命令提示符进行调试?,c++,c,visual-studio,visual-studio-debugging,C++,C,Visual Studio,Visual Studio Debugging,我有一个项目需要与3个编译器(Borland、gnu和Microsoft)合作。它在2/3上工作,现在我只需要让它与微软一起工作。它似乎在与其他编译器配合良好的地方崩溃,因此我想知道是否有一种方法可以使用命令行进行调试,可能是获取堆栈跟踪或获取导致崩溃的行,类似于gnu的gdb。是的 C++: C:。Codeview是一个较老的产品,它可以做到这一点,但是没有理由不能使用visual studio来做同样的事情。-一个优秀的调试工具包,包括cdb和ntsd控制台调试器(除了GUI WinDBG调

我有一个项目需要与3个编译器(Borland、gnu和Microsoft)合作。它在2/3上工作,现在我只需要让它与微软一起工作。它似乎在与其他编译器配合良好的地方崩溃,因此我想知道是否有一种方法可以使用命令行进行调试,可能是获取堆栈跟踪或获取导致崩溃的行,类似于gnu的gdb。

是的

C++:


C:。

Codeview是一个较老的产品,它可以做到这一点,但是没有理由不能使用visual studio来做同样的事情。

-一个优秀的调试工具包,包括
cdb
ntsd
控制台调试器(除了GUI WinDBG调试器之外)

该软件包有很棒的文档,可以轻松设置为处理崩溃的“即时”调试器,并且可以很好地处理崩溃转储

这些是Microsoft用于崩溃分析(以及更多)的核心调试工具

请注意,Windows附带了一个版本的
ntsd
debugger(至少以前是这样-看起来它不在我安装的tools package之外的Win7框中),但无论如何,获取该软件包是一个好主意,这样你就有了最新的工具-就像我说的,这些文档是大量的信息。

(完全披露:我在VisualStudio团队工作)


如果你使用微软C++编译器,你已经安装了VisualStudio了吗?如果是这样,你可以使用内置的调试器。如果没有,我建议免费试用。它有一个优秀的本地调试器。你可以在第一个机会异常(C++,SEH,Win32异常)上破除。然后直接转到它发生的那一行,以及调用堆栈、局部变量等。

好吧,你遇到了一个编译器的问题,这个编译器试图故意使你的程序崩溃。它被称为“运行时错误检查”,即/RTC选项编译选项。您可以将其关闭,使其与其他选项的行为相同。或者您也可以继续执行“此处有问题”角度。它在/RTC的MSDN库文章中有很好的文档记录。

我尝试使用附加进程功能,但这只显示了我的应用程序的汇编代码。@Marcin-您需要确保您有应用程序的符号,并且还应该配置Visual Studio的调试器以使用Mi如果你在Windows API中发生崩溃,那么,你可以得到好的堆栈跟踪。这是很长一段时间以来,我有一个命令行程序,我不能在Visual Studio IDE中调试。回到Borland C++ 5的日子,经常会有不同的行为,因为不同的内存布局。在VC++中可能仍然存在,但随着更好的编码实践,导致该问题的指针问题变得越来越少,而且在任何情况下,也有IIRC工具来帮助解决这一问题。我最近在gcc中遇到了一个指针别名优化错误(我的错误-gcc正在做它应该做的事情)-gdb工作正常,但使用起来非常痛苦。谢谢Michael,这似乎对我有帮助!我启用了公共符号服务器,基本上可以单步执行我的代码。将此包作为一种类型下载。