在日常使用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. 关于freemarker 空变量的接收以及类型转换 笔记

    通常接收一个变量是${siOrganid},如果并没有这个变量,是这么处理${siOrganid!},如果这个变量是某个类属性,是这么处理${interfsrv.siOrganid!},如果这个类也是 ...

  2. linux shell必知必会sed、awk

    sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往 ...

  3. 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contai

    之前一直使用的mysql5,突然换成8之后,有许多地方不一样,今天就碰到一个. 在使用sql语句创建表时,报错:  1055 - Expression #1 of ORDER BY clause is ...

  4. c/c++ 求一个整数转换为二进制数时中‘1’的个数

    求一个正整数转换为二进制数时中‘1’的个数 分析:这道题目就是很简单的位运算,我们可以把这个整数和1进行&操作(就是二进制数中的最低位与1进行&),然后将这个整数进行右移处理,将下个位 ...

  5. jQuery-4.动画篇---上卷下拉效果

    jQuery中下拉动画slideDown 对于隐藏的元素,在将其显示出来的过程中,可以对其进行一些变化的动画效果.之前学过了show方法,show方法在显示的过程中也可以有动画,但是.show()方法 ...

  6. 学习Mathematica

    [转载请注明出处]http://www.cnblogs.com/mashiqi 2017/12/07 0.杂: Mathematica的自带函数的首字母一定是大写的,参数输入要用中括号[],而不是圆括 ...

  7. git-本地仓库和远程仓库关联

    以github为例: 在github创建仓库 本地新建项目后执行:git init 将远程项目和本地项目关联:git remote add origin +远程仓库地址 如:git remote ad ...

  8. Codeforces1113F. Sasha and Interesting Fact from Graph Theory(组合数学 计数 广义Cayley定理)

    题目链接:传送门 思路: 计数.树的结构和边权的计数可以分开讨论. ①假设从a到b的路径上有e条边,那么路径上就有e-1个点.构造这条路径上的点有$A_{n-2}^{e-1}$种方案: ②这条路径的权 ...

  9. angular js 初学

    1 angularJS的一些概念 AngularJS 通过新的属性和表达式扩展了 HTML. AngularJS 是一个 JavaScript 框架,它是一个以Javascript编写的库,它可通过 ...

  10. 关于python的装饰器(初解)

    在python中,装饰器(decorator)是一个主要的函数,在工作中,有了装饰器简直如虎添翼,许多公司面试题也会考装饰器,而装饰器的意思又很难让人理解. python中,装饰器是一个帮函数动态增加 ...