问题标签 [cwnd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
25 浏览

windows - 调试 OnWndMsg 异常 Windows C++ WM_TIMER 消息 Crash 提到 IsWindowVisible

我在 Sentry 中遇到了崩溃。

CWnd::IsWindowVisible 未处理的致命错误:EXCEPTION_ACCESS_VIOLATION_READ

我下载了迷你转储文件(dmp)并运行了 Visual Studio 19。崩溃发生在方法中:

我包括一个屏幕截图,因为我的一个问题是:

使用调试器,我可以看到进入该方法的参数消息是 275,即

参见例如:https ://wiki.winehq.org/List_Of_Windows_Messages 。我的问题:

  1. 崩溃的具体位置在哪里?我看不出检查 pResult 是否为 NULL 并将 lResult 分配给 *pResult 会导致任何类型的崩溃,当然不会导致 EXCEPTION_ACCESS_VIOLATION_READ
  2. 期待有人说异常实际上在其他地方...... 如何从转储中获取确切位置/问题 b。任何人都认识到 TIMERS 的这种类型的问题?这不是我的代码,但我已经在想象诸如多次停止计时器之类的事情,对不再存在的窗口做一些事情等等。基于 EXCEPTION_ACCESS_VIOLATION_READ
  3. 任何线索/想法如何进行?

与往常一样,如果在另一个小组中更好地询问,或者需要更多说明,请告诉我。谢谢!

编辑 - 附加信息 请注意,Sentry 说程序实际上在 IsWindowVisible 上崩溃。这在调试转储文件(我可以看到)中肯定不存在,并且屏幕截图所示的崩溃点没有显示它,但它可能是有道理的。OnTimer 例程当然提到了 IsWindowVisible()。

4. IsWindowVisible() 会因 EXCEPTION_ACCESS_VIOLATION_READ 而崩溃吗?

在此处输入图像描述