本文属于原创,转载请加上链接以及博主名字
请尊重别人的劳动成果
在云端的开发工程师们,在工作中有没有觉得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程序性能调试方便表现优越,推荐使用
分享到:
相关推荐
Web 应用软件开发大赛竞赛规程 本大赛旨在培养学生基于 Web 设计轻应用化软件的能力,掌握 SSM(Spring、SpringMVC、MyBatis)等主流软件开发模式和开发技术,培养团队管理和协调能力,增强学生职业素质,提升教学...
【2017年全国职业院校技能大赛高职组移动互联网应用软件开发赛项规程】是针对高职层次学生的一项专业竞赛,旨在促进校企合作,推动移动应用开发专业的教育改革,提高学生的专业技能和就业竞争力。该赛项主要涵盖UI...
【远程应用发布进阶培训及排错】 远程应用发布是一种基于服务器计算的技术,它允许用户在客户端设备上访问和操作安装在服务器上的应用程序,而无需在本地安装这些应用。SANGFOR SSL VPN的远程应用发布功能是其产品...
本文档对江苏省高等职业院校技能大赛移动互联网应用软件开发赛项竞赛样题进行整理和解析,涵盖了程序排错题和功能编码题两大部分。 程序排错题部分共有四道题目,每道题目都提供了错误的界面截图和正确的界面截图,...
全国职业院校技能大赛是检验和提升高职学生技能水平的重要平台,尤其在2018年的高职组河南选拔赛中,“移动互联网应用软件开发”赛项更聚焦于学生的实际操作能力和创新思维。该赛项旨在通过比赛,培养学生们在移动...
【远程应用发布排错步骤】 1. 确认服务器问题:检查终端服务、RemoteAppServer软件是否安装并授权,RemoteApp服务是否启动,监听端口是否开放,并通过远程桌面测试服务器上的应用是否正常运行。 2. 确认网络问题:...
1. 移动互联网应用软件开发竞赛:2018年全国职业院校技能大赛高职组包含移动互联网应用软件开发赛项,竞赛试题分为文档设计、程序排错、功能编码和创意设计四个部分,主要考察参赛选手在软件开发方面的专业技能和...
- **网络拓扑**:竞赛环境由服务器、交换机、多台PC和模拟手机组成,形成完整的Web应用开发环境。 #### 四、竞赛规则与流程 1. **参赛准备**:选手需检查提供的硬件设备、软件清单、材料清单是否齐全,并确保...
### Web应用软件开发赛项知识点解析 #### 一、赛项背景与目标 - **赛项名称**:“Web应用软件开发赛项” - **版本**:V1.0 - **时间**:2018年 - **地点**:湖南省 - **面向对象**:高职院校学生 - **主要内容**:...
全国职业院校技能大赛高职组移动互联网应用软件开发赛项是一项旨在培养高职计算机相关专业学生在移动互联网应用软件开发领域的技能和素质的竞赛。比赛通过实际操作的形式,考察参赛选手的技术掌握程度、操作熟练度,...
1. 关联岗位:移动应用开发工程师、软件开发工程师、UI工程师、测试工程师。 2. 技能涵盖:MVP设计模式、UI设计标准MaterialDesign、四大组件、多线程、网络请求、数据处理、多媒体、数据库管理、依赖注入、事件传递...
轻应用设计中,参赛者需要掌握zepto框架进行移动应用开发,以及使用WeUI进行移动端Web界面设计。 比赛方式为团队竞赛,每队3名在校生,设队长1名,配备指导教师1名,领队1名。竞赛工位由抽签决定,所有所需硬件由...
在IT领域,尤其是在Web服务器管理和维护中,遇到“IIS排错 Server Application Error”是一个常见的问题。IIS(Internet Information Services)作为微软提供的Web服务器解决方案,其稳定性和性能得到了广泛认可,但...
大赛由全国高等院校计算机基础教育研究会主办,旨在通过Web应用软件开发比赛,提升学生基于Web的设计和轻应用化软件开发能力,同时强化他们在SSM(Spring、SpringMVC、MyBatis)等主流开发技术和团队协作上的技能。...
本资料涉及的是2016年全国高职院校技能大赛的移动互联网应用软件开发赛项,主要考察参赛者的系统设计、程序排错和功能编码能力。以下是对这些知识点的详细说明: 1. **系统设计**: - **系统设计说明书**:这是...
一、移动互联网应用软件开发概述 移动互联网应用软件开发是指使用移动设备(如智能手机、平板电脑等)作为平台,开发和运行的应用软件的过程。移动互联网应用软件开发包括移动应用程序的设计、开发、测试、发布和...
在使用易语言文本排错工具时,用户应先了解其基本操作流程,如如何导入文本文件,如何设置排错参数,以及如何查看和应用修复结果。此外,对于源码的学习,可以深入了解易语言的编程模式,比如如何利用易语言的字符串...