如何调试Visual C++运行时错误

5
我正在使用Visual Studio 2008编写一个C++ COM对象,它是Internet Explorer浏览器帮助对象。最近,在IE中运行时,IE经常弹出一个名为“Microsoft Visual C++ Runtime Library”的对话框,显示“Runtime Error!”的错误消息,并继续说“应用程序已请求终止运行时,以一种不寻常的方式。请联系应用程序的支持团队获取更多信息。”与通常不同的是,此对话框仅具有一个OK按钮,没有调试按钮,因此IE随后终止,我甚至没有堆栈跟踪或任何提示可用于查找代码中可能存在问题的部分。我不确定我的代码在哪里崩溃了。
如何解决“运行时错误”问题?可能导致运行时错误的可能原因是什么?(也许与内存相关的错误?)我应该检查我的代码以尝试消除这种崩溃的哪些问题?我需要一些关于如何解决这个问题的想法,它有点难以捉摸。
2个回答

4

当您看到该对话框时,请使用您的COM对象项目启动VS2008。 然后使用菜单“调试”->“附加到进程”将调试器附加到加载有您的COM对象的IE进程。 然后中断进程(调试->中断全部),您将得到堆栈跟踪。


3

由于未处理的异常,它会崩溃。这给了您一个机会,在引发异常的地方停止调试器的第一次机会异常。打开您的项目,将iexplorer.exe设置为启动程序。调试+异常,勾选未管理的异常中的Thrown标志。让它崩溃以获取断点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接