【发布时间】:2011-05-09 17:29:38
【问题描述】:
我们有一个 CF.NET 3.5 应用程序在出现特定错误之前似乎可以正常工作大约 4 小时:一旦出现错误,在相应的 ..._MouseDown 事件发生之前,在鼠标单击后会有大约 30 秒的延迟叫。这向我表明消息泵存在一些损坏,或者可能是 Windows 消息队列中的内容过多。
任何人都可以提出有关如何攻击此错误的想法,特别是因为每次尝试都需要至少 4 小时来测试...
谢谢!
PS - 大量非托管代码混合在一起,C++ 错误会与 .Net 消息队列混淆吗?
【问题讨论】:
-
如果我是你,我会搜索阻塞消息队列的方法调用或设置为某个小间隔的 Windows 计时器。
-
哦。当然!当我在 Timer_Tick 中时没有其他消息被处理...所以如果我的滴答需要 30 秒,那可能是错误。
-
如果你使用 Windows.Forms.Timer,是的,就是这样。
标签: compact-framework message-queue message-pump