在日常使用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. fabric一些资料网站,长期更新

    nodejs的入门教程 http://nqdeng.github.io/7-days-nodejs/#1.2 http://blog.fens.me/series-nodejs/ fabric的知识博 ...

  2. #20175120彭宇辰-实验一《Java开发环境的熟悉》实验报告

    Java开发环境的熟悉-1 实验要求:1 .建立“自己学号exp1”的目录2 .在“自己学号exp1”目录下建立src,bin等目录3 .javac,java的执行在“自己学号exp1”目录4 .提交 ...

  3. 百战程序员——JDBC

    JDBC全称是什么? JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...

  4. Struts2 2.5版本的通配符和动态方法调用的问题

    Struts2.5版本之后,使用通配符的时候出现错误 配置的四个action,使用通配符和动态方法的时候找不到其中的update方法后来经过查找才知道原来是版本加了一个 <action name ...

  5. 关于html引用php文件在编译器正常运行,web浏览器出问题的一点心得

    首先上图 第一张图是预期效果,也就是编译器运行的效果,第二张则是在浏览器打开的效果.那么为甚么会出现这何种问题呢? 原来:编译器能正常运行 是因为是走的cli模式,而浏览器现在走的是web模式,php ...

  6. springmvc 在非controller下使用@autowired

    在SpringMVC框架中,我们经常要使用@Autowired注解注入Service或者Mapper接口,我们也知道,在controller层中注入service接口,在service层中注入其它的s ...

  7. 银行家算法C++程序

    此程序在Windows10    CodeBlocks17.12环境下测试运行,其他编程环境未经测试! 作业需求↓↓↓↓↓↓ 运行效果图如下 (codeblocks下载地址http://www.cod ...

  8. PowerShell在激活virtualenv虚拟环境时禁止运行的脚本的解决办法

    问题描述 在使用Django开发网站项目时,为了便于修改.维护以及项目部署,使用了virtualenv虚拟环境.这个工具允许你维护多个分离的Python环境,每个都具有它自己的库和包的命名空间.这种情 ...

  9. 普通路由器刷开源固件DD-WRT的简单过程

    DD-WRT是基于Linux的无线路由软件,功能强大,它提供了许多一般路由器的软体所没有的功能,将路由器固件升级到DD-WRT可以提升内建于预设固件的限制,并将其转换成强大且具有进阶功能的商业级路由器 ...

  10. redis配置文件说明

    redis.conf 配置项说明如下: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 当Redis以守护进程方式运行时,Redis默认 ...