【原创】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 ...
随机推荐
- spring cloud_1_mm_ribbon
ji接上文 ribbon做请求分发负载均衡 ribbon 配置: server.port=9999 spring.application.name=ribbon-consumer #stores.ri ...
- ngix匹配规则
语法规则: location [=|~|~*|^~] /uri/ { … } =:开头表示精确匹配 ^~:开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因 ...
- 《Java编程思想》读书笔记-类与对象
欢迎各位读者关注我的微信公众号,共同探讨Java相关技术.生命不止,学习不休! 也许你慢慢地对程序有了这样的认识:程序只是一些列带有方法的对象的组合,这些方法以其它对象为参数,可在任何地方返回,并发送 ...
- Python学习之路基础篇--07Python基础+编码、集合 和 深浅Copy
1 小数据池(节省内存) 只有数字和字符串中内存,储存在同一个内存地址中 数字的范围在-5~256中,字符串有以下两个特点:不能含有特殊字符,还有就s*20 不是同一个地址,而要*21就不是了 2 编 ...
- 并发编程心得--synchronized
根据业务需求解决并完善并发问题-- IWMS仓库系统不考虑并发那么大的情况下,我想到的有2种并发解决方案. 1.在同时请求时,给需要操作的保存接口添加synchronized 同步方式,同步保存方法, ...
- SQLI DUMB SERIES-17
(1)无论怎么输入username,都没有回显.尝试改变password的输入.找到了闭合方式:单引号 (2)报错注入: 爆库名 admin&passwd=admin' and extract ...
- 20155208徐子涵《网络对抗》Exp9 Web安全基础
20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...
- npm,bower安装失败
安装一些软件时,总是会出现一些莫名其妙的问题.我在安装node.js时,默认安装到C:\Program Files\nodejs之后,安装bower时,bower_components默认装到C:\W ...
- PTA——出现次数最多的数
PTA 7-58 求整数序列中出现次数最多的数 #include<stdio.h> #define N 1000 int main() { ,flag; ]; scanf("%d ...
- Ubuntu使用总结二
Ubuntu使用 - 1.ubuntu怎么切换到root用户,切换到root账号方法 ubuntu怎么切换到root用户,我们都知道使用su root命令,去切换到root权限,此时会提示输入密码, ...