gpt4 book ai didi

c++ - CFileDialog 在调试器窗口中发布 "First-chance exception"

转载 作者:太空宇宙 更新时间:2023-11-04 11:30:44 28 4
gpt4 key购买 nike

我的 Windows 应用程序使用了以下用于打开文件的 C++/MFC 代码:

CFileDialog fd(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_EXPLORER, 
NULL, hParentWnd ? CWnd::FromHandle(hParentWnd) : NULL);

fd.m_pOFN->Flags &= ~(OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT | OFN_NODEREFERENCELINKS);
fd.m_pOFN->Flags |= OFN_FILEMUSTEXIST;

INT_PTR nRes = fd.DoModal(); //This call causes the warning

它运行良好,但我在 VS 2008 的调试器输出窗口中收到以下消息:

First-chance exception at 0x00007ffb653d5bf8 in MyApp.exe: 0x000006BA: The RPC server is unavailable.

这是我需要关心的事情吗?

最佳答案

中断第一次机会异常可能有用的原因是:

  • 乍一看似乎处理了异常,但实际上没有。 (您的应用程序确实有一个异常处理程序,但它最终会重新抛出异常。)
  • 调试器似乎处理了异常,但实际上没有。 (您的应用程序确实有一个异常处理程序,但它只是记录异常并中止程序。与上述类似。)
  • 异常已得到处理,但指出了更深层次的问题,需要解决。

打破第一次机会异常可能没有用的原因是:

  • 异常已得到处理,没有指向您应该担心的任何事情。
  • 异常已处理,确实指向一个真正的问题,但无法修复,只能处理。

调试器无法知道哪些适用,这是您作为开发人员的工作。根据问题中的信息,我猜这是第四个要点,这意味着在抛出该类型的异常时最好不要让调试器中断。

一般来说,如果您第一次收到异常消息,但一切正常,则可能没什么好担心的。这意味着有一个异常,但异常被捕获并且似乎被正确处理。

关于c++ - CFileDialog 在调试器窗口中发布 "First-chance exception",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24845826/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com