精华内容
下载资源
问答
  • 解决程序响应

    千次阅读 2013-11-19 17:49:32
    最近在解决一个程序响应的问题上面花了不少时间,总算是找到了原因,下面简单记录一下查找的过程。    先说一下场景:A程序为windows 桌面应用程序,界面基于QT,B程序为C#程序,在B中使用了windows自带的MSAA...
    最近在解决一个程序无响应的问题上面花了不少时间,总算是找到了原因,下面简单记录一下查找的过程。
            
            先说一下场景:A程序为windows 桌面应用程序,界面基于QT,B程序为C#程序,在B中使用了windows自带的MSAA服务的IAccessible来操作A的一些界面功能。在操作过程中出现A,B进程同时无响应。A代码庞大,并且出现无响应的概率不大,无法直接进行调试。

            对于一般的程序无响应,首先想到的应该就是是否有死循环,这个直接通过任务管理器的CPU占用就可以判断,CPU没有占满,那么就可以直接排除;另外就是死锁,对于一般的死锁,可以打开任务管理器 -> 性能 -> 资源监视器来查看无响应程序的线程等待链,通过线程等待链找到相互等待的线程,获取堆栈分析原因。

            在我的程序出现问题时,按以上原因逐项查看。。。什么? 没有死循环,也没有线程等待链,这。。。再检查一遍,还是没有!!!没办法,只能attach调试,发现等待发生在QMetaObject的addGuard中,在addGuard中确实用了QMutexLocker,但是怎么会没有线程等待呢,想了很久无果后才查看了QMutexLocker的实现,这东西竟然使用的是Event实现的,恍然大悟,终于知道了为什么以上方法都不对:对于一般的Mutex来说,他是有归属的,而对于Event来说,没有归属,Event在wait后,其他任何地方都可以通过reset来使他恢复,所以就不会有等待链。

            分析了addGuard的代码,他只是一个很简单的操作,并且也是QT自己内部使用,应该不会出现常规的一些问题,初步估计可能出现在其他线程访问时刚好线程出现异常或线程终止,于是添加了hook函数来监测TerminateThread的调用情况,未发现异常。AB程序同事无响应,那么很有可能是在AB之间通信时出现了某种问题导致卡住。查阅COM相关介绍及MSAA,了解到在系统自带的COM组件中,一般都会在最外层做try catch来捕获调用时出现的异常,从这里可以想到很有可能出现在B调用COM时,COM在回调A程序时,发生异常,而这种异常刚好被异常捕获处理,未发生崩溃,A程序未能调用reset,导致B程序也无法等到回应,两个程序卡住。

            到这里,可以添加部分代码来验证猜测了。于是对COM回调的A程序的代码全部加异常捕获,看看执行时是否会出现exception,经验证,确实出现了,查看出现的位置原因,发现出现时一个QPointer<QWidget>对象,他的指针存在,但是内部数据都没有了,QPointer在说明中他是会在对象删除时自动删除引用的,唯一可能出现的原因应该就是在多线程里面删除导致QPointer也没有正确记录,对客户端编程来说,UI对象在非UI线程操作都可能导致严重的问题,在JAVA里面已经明确限定这一点,如果存在非UI线程操作UI对象,将直接报错,而C++不做任何处理,导致了给部分人犯错的可能。

        接下来要做的就是对我们使用的UI对象在他的析构函数里面加检测,判断他的删除操作是否在UI线程中,不在UI线程中直接使程序崩溃,记录堆栈。我是直接修改了QT的QWidget,用修改过后的QT来跑之前的操作,从程序的崩溃中就可以直接看出什么地方做了不该做的事。
    展开全文
  • c#窗体程序未响应问题

    千次阅读 2018-02-02 13:39:42
    1.程序本身的bug,导致程序死掉,未响应; 2.耗时操作在主线程中执行,导致未响应; (注:这里虽然显示未响应,但程序还没死掉,一直在执行,如果没有bug,能执行到最后,执行完后,会显示正在运行....) 如下:...

    1.程序本身的bug,导致程序死掉,未响应;

    2.耗时操作在主线程中执行,导致未响应;

    (注:这里虽然显示未响应,但程序还没死掉,一直在执行,如果没有bug,能执行到最后,执行完后,会显示正在运行....)

    如下:


    解决:

    新开线程来执行耗时操作

    展开全文
  • 解决在使用vs2003全项目搜索时应用程序未响应问题

    在使用vs2003维护老项目时,只要一进行全项目搜索时vs就掉链子,后发现解决办法为:

     

    选中vs2003右键属性->兼容性->设置->勾选“禁用视觉主题”应用,重启vs2003即可~

    展开全文
  • 解决eclipse未响应

    千次阅读 2018-09-21 15:52:35
    解决eclipse未响应 将eclipse.ini内容替换为以下代码 -startup plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v...

    解决eclipse未响应

    将eclipse.ini内容替换为以下代码
    -startup
    plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
    -product
    org.eclipse.epp.package.jee.product
    --launcher.defaultAction
    openFile
    --launcher.XXMaxPermSize
    256M
    -showsplash
    org.eclipse.platform
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms256m
    -Xmx512m
    -XX:PermSize=128M
    -XX:MaxPermSize=128M
    -XX:+UseParallelGC

    展开全文
  • java tooling(0%)”后程序未响应的问题,以为等一会就可以达到100%,实际上等多久都不行,还很容易把 环境给弄得无响应。下面给出几个解决办法。 环境 MyEclipse 6.5 MyEclipse 6.5 启动后出现...
  • 打开Outlook程序未响应

    千次阅读 2013-01-12 23:47:22
    问题描述:打开Outlook2010大概5s钟后,程序卡死“未响应“; 故障排查: 1、是否和防毒软件有关,退出QQ管家和McAfee VirusScan后,故障仍然存在; 2、退出OneNote2010后问题解决。 ...
  • 程序未响应(ANR)产生原因和解决办法

    千次阅读 2015-08-31 12:07:16
    http://blog.sina.com.cn/s/blog_618199e60101kvbl.html
  • Win7程序总是未响应解决方法

    千次阅读 2013-04-17 11:04:00
    我的笔记本电脑装的是64位WIN7旗舰版系统,前阵子总是有程序在运行时或切换时未响应,比如在玩游戏时切出来之后就切不回去了,到任务管理器一看,未响应了,只能使用任务管理器切回去,或者就强行结束进程再开,这样...
  • DNS服务器未响应解决方案

    千次阅读 2019-06-17 09:19:19
    dns服务器未响应怎么解决 太平洋电脑… 电脑出现DNS错误不能上网… 太平洋电脑… 手机共享网络电脑提示DNS… 橙客传媒 王者荣耀显示语音服务器… 小熊科技视… Windows网络诊断 设备或资… 小熊科技视… win10系统...
  • 解决eclipse未响应的问题

    千次阅读 2018-09-12 10:23:43
    1、点击java项目,点击鼠标右键,选择close project 启动服务器的时候项目就不会加载进去,就会快许多 当运行该项目的时候,点击鼠标右键,选择open project就行啦 ...3、打开任务管理器,把一些不用的程序关闭掉...
  • pyqt5--Qthread解决窗口未响应问题

    千次阅读 2020-03-25 23:33:03
    本文主要介绍Qthread的使用方法,用来解决python后台爬数据时窗口未响应问题。使用这样的结构可以实现后台爬数据的同时实时UI显示,克服假死问题,代码 主要参考了文章:Qt——线程类QThread,网上看了很多文章,这...
  • MySQL安装 最后一步 execute 未响应解决方法 电脑环境: windows10教育版 64位 (OS内部版本:16299.125) MySQL版本:mysql-5.0.96-winx64 问题: 为了写上一篇博客“Windows10下安装MySQL5.0详细教程”记录...
  • 解决windows 7 中程序响应

    千次阅读 2013-11-20 02:45:41
    删除这些项,解决windows 7 中程序响应  HKEY_USERS\.DEFAULT\Control Panel\Desktop\HungAppTimeOut  HKEY_USERS\.DEFAULT\Control Panel\Desktop\WaitToKillAppTimeOut  HKEY_CURRENT_USER\Control ...
  • 但是难道就是因为这个原因,我们就只能让程序卡着么?当然不是,这里教大家一个解决方案:此时应考虑使用异步加载的办法,用BackGroundWorke。 使用方法如下:  1.在工具箱中找到 所有Windows窗体,找到BackGrou
  • eclipse经常未响应解决办法

    万次阅读 2014-07-05 14:20:23
    现象:启动eclipse缓慢,启动完成经常出现未响应情况。偶然在打开一个项目时候,也出现未响应。   原因:虚拟内存不足,或者电脑本身内存不足。但是目前绝大多数PC而言,内存应该是充足的,因此可以修改虚拟...
  • 请问如何解决这个未响应的状态呢? 希望可以给一个稍微详细一点的建议 有人说给界面单独弄一个线程,问题是主界面如何设置一个单独的线程 但是即便设置了也会因为调用后台的程序而再次无响应吧?
  • win7应用程序响应解决方法

    千次阅读 2012-06-19 15:48:37
    自己的电脑配置不算低,I7 4G 750G 2G ,但是总是莫名其妙地卡,极其容易出现应用程序响应,或者是卡在输入框或者是程序窗口中,一片白得状态。于是找了一下方法,经过鉴定,下面的方法是非常有效的: 不过补充...
  • 现象:windows启动后,打开了几个程序,之后再打开新的程序发现,都是未响应状态。    处理过程:想先用360杀下毒,但是打开360也是未响应,打开任务管理器,关闭一些已启动的进程,当我关闭WPS进程时,可以正常...
  • explorer.exe频繁未响应解决方法

    千次阅读 2021-02-26 16:26:24
    explorer.exe频繁未响应解决方法
  • MySQL安装未响应解决方法

    万次阅读 2015-10-14 10:37:13
     安装MySQL出示未响应,一般显示在安装MySQL程序最后一步的2,3项就不动了。  这种情况一般是你以前安装过MySQL数据库服务项被占用了。  解决方法:  一种方法:你可以安装MySQL的时候在这一步时它默认...
  • eclipse 优化 经常未响应解决办法

    千次阅读 2017-08-05 16:43:11
    eclipse 优化 经常未响应解决办法
  • Word2013出现未响应解决方法

    万次阅读 2015-05-11 18:46:28
    这几天打开word2013,一打开就出现程序未响应,重装了office,隔了几天又出现这个问题,最后发现有可能和我的电脑配置有关,修改了word的属性。 步骤: 1. 直接打开word的exe文件,不要新建文件后再打开,因为这样...
  • 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序响应(ANR:Application Not Responding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的...
  • 然后程序依然是“未响应”,Login窗口不关闭,与Main窗口共存。 用户机器用360清理系统后重启,不运行其他程序问题依旧。在程序卸载里查看上周五以后没有安装新的程序和更新。 求大神解疑!!!
  • word未响应解决方案汇总

    万次阅读 2017-04-29 18:12:49
    2.复制,然后粘贴,就立刻未响应,即使粘贴的内容非常少,比如只粘贴1个汉字。 3.Ctrl+S手动保存时,未响应,即使当前正在编辑的文章很短。 4.点击某个插入的对象,比如插入的Mathtype公式,AutoCAD图形,未响应。 5...
  • ANR在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应 用程序响应(ANR:ApplicationNotResponding)对话框。用户可以选择让程序继续运行,但是,他们在使用你...
  • 今天打开VS还是未响应 一顿发白后关闭程序 我真是服了 这就影响到工作进度了 处理 马上网上冲浪找到解决方案: 在 开始 里面 找到 VS2015的开发者命令行工具 然后输入: devenv/Safemode 看看你的VS是不是和我的...
  • arcgis license server许可管理器启动未响应或无法启动解决办法 来源url:http://blog.az009.com/14915.html 一、问题描述 在安装arcgis10.0 10.1 10.2 10.3 10.4 10.5 10.6等各版本软件时经常会出现arcgis ...
  • Unity未响应重启后进不去的解决方案

    千次阅读 2019-04-03 10:51:03
    偶尔UnityEditor出现未响应的情况,只能强制结束,重启后发现一直进不去,但后台进程是有Unity.exe的。 解决方案: 删除以下文件夹,重启 C:\Users\用户名\AppData\Local\Unity C:\Users\用户名\AppData\LocalLow\...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 541,230
精华内容 216,492
关键字:

如何解决程序未响应