本文属于原创,转载请加上链接以及博主名字
请尊重别人的劳动成果
在云端的开发工程师们,在工作中有没有觉得Debug,有时会占去一天工作时间的大部分。既然一天都在干这个,觉着就要研究分析下,
Debug是不是有可以总结分享的东西。
一般查bug时步骤如下,
第一步:定位问题,定位问题首先需要收集便是数据。一般有:业务运行日志,Gc日志(如果有开启的话),异常日志,线程Dump,堆Dump和一些会影响到业务运行的数据。
第二步:有了数据,于是我们就开始分析了。
第三步:通过分析,一般能定位问题,问题找到了,剩下的修改,出解决方案了。
一般Debug就这三步,这三步中又有什么技巧,怎样能提高我们的Debug效率。
第一步中的数据,是一个前人打井,后人喝水的工作,平时在Code时就要留心,按照一定的规范把日志记全了。提起注意的是,我们的业务一般Running在一个大环境中,所以大环境有什么
风吹草动,最好也听下,有时能为你排查问题省下不少时间。
第二步:有了数据,就是分析问题了,分析问题,对于不同的数据都有不同的工具,来提高你的分析速度。这部分靠平时不断的搜集和积累。当然对于基础组件了解也是必要的。
第三步:暂时没有想到什么。
下面分享下,我一般工作中Debug用到的工具吧。
网络封包分析软件:
Wireshark:功能强大的分析抓包分析工具,比较占资源。
smsniff:比较轻量工具,不占资源,以连接为单位,显示交互数据。
Dump分析工具:
Windows:
Windbg:通过加载插件,能用来分析Windows环境下所有内存镜像。(Windows高级调试,net高级调试这两本书能帮助你熟练使用它)
Linux:
Java:
JDK中提供的工具:
JPS:全称为JVM Process Status Tool ,显示指定系统内所有的HotSpot虚拟机进程。
jstat:全称为JVM Statistics Monitoring Tool 用于显示HotSpot 虚拟机各方面的运行数据。
jinfo:显示虚拟机的配置信息.
jmap:打印出某个java进程(使用pid)内存内的,所有object的情况(如:产生那些对象,及其数量)
jhat:用于分析heapdump文件,建立一个http/heml server,让用户可以在浏览器上查看分析结果。
jstack:Stack Trace for java .显示虚拟机的thread 快照
jvisualvm: GUI工具,可监控、性能评估、故障诊断主机上所有java进程的cpu,内存,线程使用情况.
jprofile:在java程序性能调试方便表现优越,推荐使用
分享到:
相关推荐
SANGFOR_SSL_v6.8_2015年度渠道高级认证培训07_远程应用发布进阶培训及排错.ppt
SANGFOR_SSL_v7.0_2016年度渠道高级认证培训07_远程应用发布进阶培训及排错.ppt
04 Comware V7 平台设备 DEBUG 信息自动保存至 Logfile 文件方法 05 H3C V7 平台交换机统计本地始发报文数量说明 06 某局点S10510X融合AC license授权安装失败处理的经验案例 07 H3C V7系列交换机Dispute保护机制...
叫你如何调试排错,经典。 Windows 排错 调试 debug
深入理解组策略应用路径,掌握基础组策略排错手段和方法,使你的AD管理更加轻松。
前言 明确地定义什么是网络的“故障”和“排错”不是一件容易的事情。网络的“故障”往往是用户在某种应用不能正常实现时感知到的,有的...通过这几篇处理报告,您可以了解到工程师是如何把排错思路应用到实际工作中。
易语言文本排错工具源码,文本排错工具
MySQL排错指南 电子书
asp.net动态网站开发 ppt文件,ASP.NET 高级排错技巧
路由器故障排错入门 路由器故障排错入门
cisco packet tracer排错实验集合,一共26个实验,包含大部分综合实验
电脑常用排错命令
IIS排错 客户端的IP地址被拒绝 HTTP错误401.1-未经授权 HTTP错误404-文件或目录未找到 内部服务错误
路由交换理论排错讲解
《MySQL排错指南》由Oracle公司的技术支持工程师编写,详细阐述了MySQL故障诊断及处理中的知识,教会读者如何深入浅出地定位、分析并解决各种MySQL数据库的...《MySQL排错指南》适合MySQL数据库开发及运维人员阅读。
CCIE-LAB考试排错(上) 很详细的考试说明与实例
Linux TS 排错经验,高手系统总结的,当然你也要总结才能进步