java诊断工具Arthas插件在Windows环境下的使用(一)

java诊断工具Arthas插件在Windows环境下的使用(一),第1张

Arthas官方文档:https://arthas.aliyun.com/doc/quick-start.html

Arthas是什么

Arthas 是Alibaba开源的Java诊断工具,可以实现Java动态追踪,可以在运行中的Java代码内添加日志输出以达到不重启项目来打印日志的效果。
Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

文章写作目的

官方文档中的 *** 作是以linux环境为主的,本文主要介绍当开发人员开发环境为Windows时,如何顺利使用Arthas的功能,本篇只简单介绍如何启动Arthas以及简单的输出,对应官方文档中的“快速入门”部分。

使用Arthas 下载Arthas

Arthas下载地址
下载到本地后手动解压缩。

启动demo

Arthas Git代码中自带了一个名为MathGame的简单java程序,每隔一秒生成一个随机数,再执行质因数分解,并打印出分解结果。
通过命令行进入MathGame路径下,编译MathGame.java,并运行demo。

启动Arthas

通过命令行进入Arthas项目下的bin目录,执行as.sh脚本,进入Arthas页面。

输入进程编号1,回车,此时若为linux环境,则Arthas会attach到目标进程,但Windows不支持展示Arthas页面,需要我们手动telnet。

打开命令行,输入telnet 127.0.0.1 端口号(图中为3658),成功进入telnet界面。

现在就可以对当前进程进行查看等 *** 作了。

查看dashboard

输入dashboard,按回车/enter,会展示当前进程的信息,按ctrl+c可以中断执行。

通过thread命令来获取到math-game进程的Main Class

输入thread 1会打印线程ID 1的栈,通常是main函数的线程,输入thread 1|grep main来过滤main函数的信息。

通过jad来反编译Main Class

通过jad命令反编译MathGame.class。

watch

通过watch命令来查看MathGame#primeFactors函数的返回值:

总结

博主本身也是初次接触Arthas,从简单的了解中,也感到Arthas是一个非常强力的开源java诊断工具,对java开发人员维护项目来说是一个强大的助力,此篇文章只是浅尝辄止,没有挖掘出深层次的使用方法,也欢迎各路朋友交流指正。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/730755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存