在VS2010中加载dll文件时的第一次机会异常
Posted
技术标签:
【中文标题】在VS2010中加载dll文件时的第一次机会异常【英文标题】:First-chance exception during loading dll files in VS2010 【发布时间】:2013-03-23 02:09:06 【问题描述】:我在 Visual Studio 2010 中使用 MFC。我正在修改其他人完成的代码。 VS2010 加载了一些文件,但是在加载最后一个 dll 文件时我得到了
第一次机会异常:Microsoft C++ 异常:位于内存位置 0x0014faa0..
我想知道,有没有办法在加载 dll 文件时设置断点?当 VS 加载第 3 方 dll 文件时会发生异常。
【问题讨论】:
【参考方案1】:如果您根据此博客看到第一次机会的预期可能没问题:
http://blogs.msdn.com/b/davidklinems/archive/2005/07/12/438061.aspx
引用如下:
第一次机会异常是否意味着我的代码存在问题?
First chance exception messages most often do not mean there is a problem in the code. For applications / components which handle exceptions gracefully, first chance exception messages let the developer know that an exceptional situation was encountered and was handled.
这篇文章提供了相关信息 How can I set a breakpoint in referenced code in Visual Studio?
【讨论】:
感谢您提供此信息,但每次调用第 3 方 dll 文件获取信息时也会发生此异常,因此我需要摆脱此异常(如果可能) @rasred2004 你可以尝试开启VS2010中的所有异常处理程序,在“Debug-->Exceptions”下,大部分最初是未选中的,你可能会找到那些与dll相关的并检查它们。ras red2004
,每次调用都会出现异常,没有错。同样,这对于该 DLL 来说可能是正常的。如果 DLL 遇到它没有捕获的异常,它将是第二次机会异常,而不是第一次机会异常。【参考方案2】:
无需担心第三方代码中的第一次机会异常,因为这可能是它们执行的正常部分。如果第三方代码不处理异常,就会变成第二次机会异常,然后你就知道有问题了。
【讨论】:
以上是关于在VS2010中加载dll文件时的第一次机会异常的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio c++ 中创建将在 VB 中加载的 DLL
vs2010运行总是提示:(msvcr90d.dll) 处最可能的异常: 0xC0000005,怎么回事