加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

wpf – 当Windows检测到应用程序挂起时记录堆栈跟踪

发布时间:2020-12-14 02:49:06 所属栏目:Windows 来源:网络整理
导读:Windows 7窗口管理器定期将我的WPF应用程序检测为 hung,将其重影并弹出一条无响应的消息.我已经使用该应用程序已有好几个星期而且还没有看到它,但是与我相同硬件的用户说他经常使用它. 可能的一切都是在另一个线程上的任务中运行,所以我不知道从哪里开始寻找
Windows 7窗口管理器定期将我的WPF应用程序检测为 hung,将其重影并弹出一条无响应的消息.我已经使用该应用程序已有好几个星期而且还没有看到它,但是与我相同硬件的用户说他经常使用它.

可能的一切都是在另一个线程上的任务中运行,所以我不知道从哪里开始寻找问题.如果用户等待应用程序响应它会快速恢复,所以我假设问题出现在GUI线程上,偶尔需要5秒钟才能运行.

有什么方法可以检测到DWM认为应用程序挂起的时候我可以记录堆栈跟踪吗?

解决方法

我没有在WPF应用程序中完成此操作,但传统的方法是使用SendMessageTimeout每隔一段时间从后台线程发送一条WM_NULL消息,如果主UI线程没有处理消息,比如30秒,为该线程生成堆栈转储.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读