在日常使用Windows的过程中,经常会遇到应用程序不能正常启动、关闭等使用问题。对于Windows来说,解决这些问题的方法比较多,大多时候我们可以通过百度或谷歌搜索来解决。但更多的时候,我们需要找出背后的原因,也要掌握分析问题和解决问题的方法。

分析应用程序异常的问题,一般的出发点有两个,第一从应用程序本身着手,第二从操作系统角度着手。

应用程序角度:我们可以查看日志,开启Debug模式,添加兼容性设置(排除最新版本Windows无法运行,但低一个版本就可以),以管理员方式运行(排除操作系统的文件访问权限问题),降低分辨率(排除高清屏导致的问题),降低显示色彩像素值(排除32位色彩还原度引起的问题,可以降低到16位色彩),以低DPI运行(排除Win7/8/10及以上版本的缩放比例),以Window是经典主题运行(排除Aero半透明主题引起的问题),等等。

操作系统角度:可以换个Windows账户运行(排除用户环境变量和Profile注册表的影响),换个安装目录运行(排除带括号、空格等特殊路径引起的问题),CMD命令行调用(排除一闪而退看不到错误信息的问题)。

当然我们还不要忽略一些Windows操作系统的通用调试技巧,首先是Window事件管理器中的应用程序日志(当应用程序出现运行时问题时,都会以警告、信息、错误等方式将日志写入Windows事件管理器,并发送相关数据给微软,以提供更好的解决方案和服务)。

如果应用程序会Dump内存信息,我们就得学会Windows Debug方法,通常得借助到Windows Development SDK工具,Windbg就是一个不错的选择,但需要有一定的反编译和调试技能,也需要些汇编的基础知识。

如果以上这些觉得太专业,我们最笨的方法是,换机器,在别人的机器上试试,如果可以正常使用,就找找自己的机器和别人机器的差异,比如Windows版本,语言环境,等等。

解决问题是门学问,善于总结才能在这条路上走的更远。全民编程的时代,farmer都会调试程序,所以小伙伴们一定要加油加油。

【原创】Windows上应用程序报错常用分析方法总结的更多相关文章

  1. 在windows上 使用celery 报错

    在windows上 使用celery 报错       在windows上 使用celery 报错 ValueError: not enough values to unpack (expected ...

  2. windows下oracle数据库报错ORA-12705解决方法

    转自:http://blog.sina.com.cn/s/blog_16eaf6b940102x66q.html 有个朋友,他们那边windows虚拟机重启后,数据库不能起来报错ORA-12705无法 ...

  3. linq中日期格式转换或者比较,程序报错说不支持方法的解决办法

    public void TestMethod1(){using (var _context = new hotelEntities()){var rq = DateTime.Now.Date;var ...

  4. windows命令行pip报错解决的方法

    今天在新电脑安装python,发现pip无效了,于是乎百度了很多方法,发现原因是pip升级导致的 解决办法,卸载pip重新安装 可以首先执行  python -m ensurepip  然后执行 py ...

  5. [Python]输出中文报错的解决方法

    问题现象:在PyCharm工具编辑python语句输出中文时,程序报错. 解决方法(2种): 1.在代码开头加#coding=utf-8(注意要加#) 2.还是在代码开头加#-*- coding: u ...

  6. SpringBoot注册Windows服务和启动报错的原因

    SpringBoot注册Windows服务和启动报错的原因 Windows系统启动Java程序会弹出黑窗口.黑窗口有几点不好.首先它不美观:其次容易误点导致程序关闭:但最让我匪夷所思的是:将鼠标光标选 ...

  7. 运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such file or directory

    运行编译后的程序报错  error while loading shared libraries: lib*.so: cannot open shared object file: No such f ...

  8. Window7中Eclipse运行MapReduce程序报错的问题

    按照文档:http://www.micmiu.com/bigdata/hadoop/hadoop2x-eclipse-mapreduce-demo/安装配置好Eclipse后,运行WordCount程 ...

  9. iis 7上发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容

    iis 7上发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容 提示里面的解决方法是: 如果不希望启用目录浏览,请确保配置了默认文档并且该文件存在. 使用 II ...

随机推荐

  1. 如何使用idea给系统平台添加子应用和应用的模块

    1.添加模块smartcity-portal,由于模块是在smartcity-framework工程下的,所以按照图片所示添加 2.smartcity-portal模块添加完成后,由于portal-d ...

  2. javascript中的Date对象

    Date是什么? Date是日期类的构造函数 也是个对象,用于构造日期对象的实例. 有一个 now()方法,返回截止目前的时间戳(1970.1.1日始). Date.parse()接受 一定格式的日期 ...

  3. collections&time&random模块

    一.collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdic ...

  4. Golang微服务:Micro限流、熔断

    Wrapper Wrapper提供了一种包装机制,使得在执行某方法前先执行Wrapper,优点Filter的意思:因此可以在客户端和服务器做很多功能:熔断限流.Filter.Auth等. client ...

  5. Unity中对系统类进行扩展的方法

    Unity扩展系统类,整合简化代码 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  6. 使用min-device-pixel-ratio媒体功能实现真正的1像素border

    关于设备像素比的知识,想必做过移动端开发的都有接触,这里就不介绍啦,万一有不懂的可以看张鑫旭大神的设备像素比devicePixelRatio简单介绍 由于设备像素比存在的原因,我们在处理设计图的一些边 ...

  7. POJ1064 Cable master(二分 浮点误差)

    题目链接:传送门 题目大意: 给出n根长度为1-1e5的电线,想要从中切割出k段等长的部分(不可拼接),问这个k段等长的电线最长可以是多长(保留两位小数向下取整). 思路: 很裸的题意,二分答案即可. ...

  8. 请求转发和URL重定向的原理和区别

    一.请求转发和重定向是在java后台servlet中,由一个servlet跳转到另一个servlet/jsp要使用的技术 使用方法 请求转发  req.getResquestDispatcher(se ...

  9. MySQL-01-基础

    大纲 1)mysql存储结构: 数据库 -> 表 -> 数据   sql语句 2)管理数据库: 增加: create database 数据库 default character utf8 ...

  10. calcOpticalFlowPyrLK

    void calcOpticalFlowPyrLK( InputArray prevImg, InputArray nextImg,                                   ...