前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >arthas入门

arthas入门

作者头像
阿超
发布2023-03-07 20:39:20
1.6K0
发布2023-03-07 20:39:20
举报
文章被收录于专栏:快乐阿超快乐阿超

有些人对你恭维不离口,可全都不是患难朋友——莎士比亚

按照官方文档的快速入门

执行:

代码语言:javascript
复制
curl -O https://arthas.aliyun.com/math-game.jar
java -jar math-game.jar

然后再执行

代码语言:javascript
复制
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

然后问题来了

image-20230302231540214
image-20230302231540214

提示:

代码语言:javascript
复制
$ java -jar arthas-boot.jar
[INFO] JAVA_HOME: C:\Program Files\Java\jre1.8.0_351
[INFO] arthas-boot version: 3.6.7
[INFO] Can not find java process. Try to run `jps` command lists the instrumented Java HotSpot VMs on the target system.
Please select an available pid.

找不到java进程,可我明明已经启动,它提示使用jps寻找java进程

执行jps,提示bash: jps: command not found

仔细看,我这里是JAVA_HOME: C:\Program Files\Java\jre1.8.0_351

这不是jdk。。。而是jre

修改了环境变量(关掉bash窗口后)再次执行jps后发现没有jps: command not found的报错了

但是仍然没有找到我想要的java进程,并且执行java -jar arthas-boot.jar后发现仍然是提示Please select an available pid.而没有让我选

将所有bash全部使用管理员身份打开,再次执行,终于成功!

我们执行一下dashboard命令

image-20230302232042311
image-20230302232042311

以及

代码语言:javascript
复制
thread 1 | grep 'main('
image-20230302232002142
image-20230302232002142

还有反编译

代码语言:javascript
复制
jad demo.MathGame
image-20230302232315035
image-20230302232315035

使用watch查看返回值

代码语言:javascript
复制
watch demo.MathGame primeFactors returnObj

然后按ctrl+c退出,结果直接退出了arthas

再次运行java -jar arthas-boot.jar提示已经存在

image-20230302232457790
image-20230302232457790

一般我们遇到这种情况直接使用

代码语言:javascript
复制
taskkill -f -pid 82304

但有时候,没有提示出具体的进程ID,只有一个端口号,我们则可以使用

代码语言:javascript
复制
netstat -ano | findstr :3658

查询到进程ID后即可结束

image-20230302232628443
image-20230302232628443

再次运行arthas即可

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档