【原创】Windows上应用程序报错常用分析方法总结
在日常使用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上应用程序报错常用分析方法总结的更多相关文章
- 在windows上 使用celery 报错
在windows上 使用celery 报错 在windows上 使用celery 报错 ValueError: not enough values to unpack (expected ...
- windows下oracle数据库报错ORA-12705解决方法
转自:http://blog.sina.com.cn/s/blog_16eaf6b940102x66q.html 有个朋友,他们那边windows虚拟机重启后,数据库不能起来报错ORA-12705无法 ...
- linq中日期格式转换或者比较,程序报错说不支持方法的解决办法
public void TestMethod1(){using (var _context = new hotelEntities()){var rq = DateTime.Now.Date;var ...
- windows命令行pip报错解决的方法
今天在新电脑安装python,发现pip无效了,于是乎百度了很多方法,发现原因是pip升级导致的 解决办法,卸载pip重新安装 可以首先执行 python -m ensurepip 然后执行 py ...
- [Python]输出中文报错的解决方法
问题现象:在PyCharm工具编辑python语句输出中文时,程序报错. 解决方法(2种): 1.在代码开头加#coding=utf-8(注意要加#) 2.还是在代码开头加#-*- coding: u ...
- SpringBoot注册Windows服务和启动报错的原因
SpringBoot注册Windows服务和启动报错的原因 Windows系统启动Java程序会弹出黑窗口.黑窗口有几点不好.首先它不美观:其次容易误点导致程序关闭:但最让我匪夷所思的是:将鼠标光标选 ...
- 运行编译后的程序报错 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 ...
- Window7中Eclipse运行MapReduce程序报错的问题
按照文档:http://www.micmiu.com/bigdata/hadoop/hadoop2x-eclipse-mapreduce-demo/安装配置好Eclipse后,运行WordCount程 ...
- iis 7上发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容
iis 7上发布mvc报错:403.14-Forbidden Web 服务器被配置为不列出此目录的内容 提示里面的解决方法是: 如果不希望启用目录浏览,请确保配置了默认文档并且该文件存在. 使用 II ...
随机推荐
- fabric一些资料网站,长期更新
nodejs的入门教程 http://nqdeng.github.io/7-days-nodejs/#1.2 http://blog.fens.me/series-nodejs/ fabric的知识博 ...
- #20175120彭宇辰-实验一《Java开发环境的熟悉》实验报告
Java开发环境的熟悉-1 实验要求:1 .建立“自己学号exp1”的目录2 .在“自己学号exp1”目录下建立src,bin等目录3 .javac,java的执行在“自己学号exp1”目录4 .提交 ...
- 百战程序员——JDBC
JDBC全称是什么? JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...
- Struts2 2.5版本的通配符和动态方法调用的问题
Struts2.5版本之后,使用通配符的时候出现错误 配置的四个action,使用通配符和动态方法的时候找不到其中的update方法后来经过查找才知道原来是版本加了一个 <action name ...
- 关于html引用php文件在编译器正常运行,web浏览器出问题的一点心得
首先上图 第一张图是预期效果,也就是编译器运行的效果,第二张则是在浏览器打开的效果.那么为甚么会出现这何种问题呢? 原来:编译器能正常运行 是因为是走的cli模式,而浏览器现在走的是web模式,php ...
- springmvc 在非controller下使用@autowired
在SpringMVC框架中,我们经常要使用@Autowired注解注入Service或者Mapper接口,我们也知道,在controller层中注入service接口,在service层中注入其它的s ...
- 银行家算法C++程序
此程序在Windows10 CodeBlocks17.12环境下测试运行,其他编程环境未经测试! 作业需求↓↓↓↓↓↓ 运行效果图如下 (codeblocks下载地址http://www.cod ...
- PowerShell在激活virtualenv虚拟环境时禁止运行的脚本的解决办法
问题描述 在使用Django开发网站项目时,为了便于修改.维护以及项目部署,使用了virtualenv虚拟环境.这个工具允许你维护多个分离的Python环境,每个都具有它自己的库和包的命名空间.这种情 ...
- 普通路由器刷开源固件DD-WRT的简单过程
DD-WRT是基于Linux的无线路由软件,功能强大,它提供了许多一般路由器的软体所没有的功能,将路由器固件升级到DD-WRT可以提升内建于预设固件的限制,并将其转换成强大且具有进阶功能的商业级路由器 ...
- redis配置文件说明
redis.conf 配置项说明如下: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 当Redis以守护进程方式运行时,Redis默认 ...