arthas常用命令整理

2023-11-10

官网链接

Arthas Install — Arthas 3.5.4 文档Arthas Install — Arthas 3.5.4 文档

今天是1024程序员节。昨天研究了下arthas整理一下笔记

常用命令

watch watch — Arthas 3.5.4 文档

同时观察方法调用前和方法返回后
$ watch demo.MathGame primeFactors "{params,target,returnObj}" -x 2 -b -s -n 2

观察异常信息的例子
$ watch demo.MathGame primeFactors "{params[0],throwExp}" -e -x 2
观察方法入参和出参
"{params,returnObj}" -x 2 -b -s"{params,returnObj}" -x 2 -b -s


常用表达式 观察入参出参和异常
 "{params,returnObj,throwExp}" -x 2 -b -s -e
 

watch 的参数比较多,主要是因为它能在 4 个不同的场景观察对象

参数名称

参数说明

class-pattern

类名表达式匹配

method-pattern

方法名表达式匹配

express

观察表达式,默认值:{params, target, returnObj}

condition-express

条件表达式

[b]

方法调用之前观察 before

[e]

方法异常之后观察

[s]

方法返回之后观察

[f]

方法结束之后(正常返回和异常返回)观察

[E]

开启正则表达式匹配,默认为通配符匹配

[x:]

指定输出结果的属性遍历深度,默认为 1

这里重点要说明的是观察表达式,观察表达式的构成主要由 ognl 表达式组成,所以你可以这样写"{params,returnObj}",只要是一个合法的 ognl 表达式,都能被正常支持。

观察的维度也比较多,主要体现在参数 advice 的数据结构上。Advice 参数最主要是封装了通知节点的所有信息。请参考表达式核心变量中关于该节点的描述。

特别说明

  • watch 命令定义了4个观察事件点,即 -b 方法调用前,-e 方法异常后,-s 方法返回后,-f 方法结束后
  • 4个观察事件点 -b、-e、-s 默认关闭,-f 默认打开,当指定观察点被打开后,在相应事件点会对观察表达式进行求值并输出
  • 这里要注意方法入参和方法出参的区别,有可能在中间被修改导致前后不一致,除了 -b 事件点 params 代表方法入参外,其余事件都代表方法出参
  • 当使用 -b 时,由于观察事件点是在方法调用前,此时返回值或异常均不存在
  • 在watch命令的结果里,会打印出location信息。location有三种可能值:AtEnter,AtExit,AtExceptionExit。对应函数入口,函数正常return,函数抛出异常。

tt 命令

com.mb.wife.controller.HiController#hi

INDEX TIMESTAMP COST(ms) IS-RET IS-EXP OBJECT CLASS METHOD

-----------------------------------------------------------------------------------------------------------------------

1000 2021-10-23 22:14:27 0.4527 true false 0x6fd97fd1 HiController hi

1001 2021-10-23 22:14:38 0.157701 true false 0x6fd97fd1 HiController hi

1002 2021-10-23 22:14:44 0.9488 true false 0x6fd97fd1 HiController hi

查看详情

tt -i  1000

重放 重做一次调用 这是一个很赞的功能!

tt -i 1000 -p

在线调试地址

Arthas Tutorials

当在本地启动时,可以访问 http://127.0.0.1:8563/ ,通过浏览器来使用Arthas。

reset

Arthas在 watch/trace 等命令时,实际上是修改了应用的字节码,插入增强的代码。显式执行 reset 命令,可以清除掉这些增强代码。

退出Arthas

用 exit 或者 quit 命令可以退出Arthas。

退出Arthas之后,还可以再次用 java -jar arthas-boot.jar 来连接。

彻底退出Arthas

exit/quit命令只是退出当前session,arthas server还在目标进程中运行。

想完全退出Arthas,可以执行 stop 命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

arthas常用命令整理 的相关文章

  • 阿里Arthas(阿尔赛斯)-java诊断工具使用入门

    1 下载官方测试程序启动 doda 64 host166 game curl O https arthas aliyun com math game jar doda 64 host166 game java jar math game j
  • 阿里 arthas 使用介绍

    背景 xff1a 一次线上问题的综合排查排查 xff0c 两个相同的系统的某个模块 xff0c 数据量更少的系统查询更慢 先说下整体思路 xff1a 查看系统整理负载 xff0c 网络有100左右毫秒的延迟 xff0c 看起来影响不大查看正
  • Arthas监控java程序

    安装 1 解压缩arthas的压缩包 unzip arthas packaging bin zip 2 安装Arthas cd arthas install local sh 启动 以脚本的方式启动as sh 如图为启动成功 监控命令使用
  • sessionStorage 问题

    问题描述 列表页点击进详情页的时候数据没加载到 查看前端代码 在跳转的时候取的列表页数据存到sessionStorage里面 function getCollarDetails index var rows coupon list tabl
  • springboot修改端口号不生效问题

    今天创建了一个test工程 然后发现端口号配置文件里面修改后死活不生效 花了一个多小时才调试出来这个问题 只因为在pom里面多了一个
  • arthas启动-服务端启动流程

    从前面介绍的arthas启动 agent初始化一文中我们看到了AgentBootstrap bind函数 该函数的实现就是使用反射创建一个ArthasBootstrap对象 传入关键信息Instrumentation 以及启动参数 我们就关
  • arthas的trace、watch、tt、profiler命令的使用

    arthas的trace watch tt profiler命令的使用
  • mac卸载idea

    idea只有30天的试用期 比较穷 买不起正版 又不想用破解 是因为发现破解的版本写代码的时候反应好迟钝 一个报红的问题修复后半天还不好 到期了只能完全卸载重新装一遍 这样也还有个好处 能用最新版 一直在追求最新版的路上 给像我一样的强迫症
  • Spring Boot Admin 集成诊断利器 Arthas 实践

    简介 Arthas 是 Alibaba 开源的 Java 诊断工具 具有实时查看系统的运行状况 查看函数调用参数 返回值和异常 在线热更新代码 秒解决类冲突问题 定位类加载路径 生成热点 通过网页诊断线上应用 如今在各大厂都有广泛应用 也延
  • Windows MYSQL跳过密码登录以及密码修改

    MYSQL跳过密码登录以及密码修改 1 以管理员身份打开命令行 输入命令 net stop mysql 如果不是管理员身份 可能会出现如下错误 2 开启跳过密码验证登录的MySQL服务 在命令行输入 mysqld console skip
  • centos7服务器环境搭建记录

    这个月换了工作 公司配的电脑没有到货 让玩服务器 新工作的第一份任务就是的搭建开发环境配置服务器 作为一个资深高级java开发 自然不会被这个难倒 很早以前就玩过服务器 早几天面试之前还在虚拟机上搭建了redis kafka集群 况且还有万
  • arthas常用命令整理

    官网链接 Arthas Install Arthas 3 5 4 文档Arthas Install Arthas 3 5 4 文档 今天是1024程序员节 昨天研究了下arthas整理一下笔记 常用命令 watch watch Arthas
  • 【Arthas】Arthas mc内存动态编译原理

    1 概述 转载 Arthas mc内存动态编译原理 2 开篇 Arthas支持通过mc命令进行java文件的内存动态编译 mc Memory Compiler 内存编译器 编译 java文件生成 class 从JDK1 6开始引入了Java
  • 利用Git连接远程仓库(详细步骤)

    利用Git连接远程仓库步骤及常见问题 1 先创建一个文件夹 名字为远程仓库的名称 2 在该文件目录下打开Git Bash 3 输入git init 进行初始化 初次连接时 4 连接远程仓库 初次连接是下一次进入该文件夹就不用了 输入下列命令
  • 四、Arthas

    四 Arthas 1 安装 卸载 1 Arthas支持在Linux Unix Mac等平台上一键安装 请复制以下内容 并粘贴到命令行中 敲回车执行即可 curl L https arthas aliyun com install sh sh
  • Arthas开源一周年,Github Star 16K,我们一直在坚持什么?

    缘起 最近看到一个很流行的标题 开源XX年 star XXX 我是如何坚持的 看到这样的标题 忽然发觉Arthas从2018年9月开源以来 刚好一年了 正好在这个秋高气爽的时节做下总结和回顾 Arthas是Alibaba开源的Java诊断工
  • 线上服务平均响应时间太长,怎么排查?

    最困难的事情就是认识自己 个人网站 欢迎访问 前言 最近线上环境某个接口服务响应时间偏长 导致用户体验超差 那平时该怎么快速的排查这类问题呢 为代码添加上详细的打印日志 不建议 一是线上环境 没法随便的重新部署更换了详细日志的代码 二是 添
  • 使用Arthas排查问题

    简介 Arthas 是Alibaba开源的Java诊断工具 深受开发者喜爱 当你遇到以下类似问题而束手无策时 Arthas可以帮助你解决 这个类从哪个 jar 包加载的 为什么会报各种类相关的 Exception 我改的代码为什么没有执行到
  • Android Studio连接Mysql数据库步骤以及常见错误

    1 先把Mysql给下好 环境变量也配置好 这里我就不说了 2 下载好Navicat for Mysql软件 管理数据库 3 进入Android Studio创建一个类 写好连接数据库的代码 我们采用的是常用的JDBC方法来连接 需要的ja
  • 【Arthas】Arthas 类查找和反编译原理

    1 概述 转载 Arthas 类查找和反编译原理 2 开篇 Arthas支持通过类相关的操作命令 包括sc sm jad等 sc Search Class 命令搜索出所有已经加载到 JVM 中的 Class 信息 sm Search Met

随机推荐

  • 【Java项目】多文件传输

    1 前言 为了实现一个C S框架应用 客户端向服务器请求资源 采用传统的BIO模式传输 问题 但当客户端数量增加 传输效率下降 尤其是多个客户端请求1G文件时 传输大概有十多分钟 问题分析 客户端所需要的资源都是通过服务器单独发送 当请求增
  • Angular6项目构建

    Angular6项目构建 安装Nodejs长期支持版本 LTS 设置npm淘宝代理 npm config set registry https registry npm taobao org npm install g angular cl
  • linux 使用chomd给文件授权 报错 -bash: chomd: 未找到命令

    1 简介 chmod是一个Linux Unix命令 用于更改文件或目录的权限 2 解决方案 以下是一些常见的解决方案 输入命令时检查有无拼写错误 确认您是否具有执行该命令所需的权限 检查您的系统是否已安装此命令 您可以尝试使用whereis
  • 忘记iPhone锁屏密码?三种方法帮你顺利解决!

    不论是苹果手机用户还是安卓手机用户 如果开机的锁屏密码忘记的话 应该是比较麻烦的一件事情 iPhone用户如果连续尝试6次密码都不对的话 iPhone将会自动锁死 也就变成了我们常说的 砖机 不过在iPhone锁死之前 我们还有三种方法可以
  • 在WindowsXP系统下搭建PPPoE服务器总结

    对与路由器的测试中遇到一个问题就是PPPoE的测试 具体如下 一 组网图如下 二 要确保WindowsXP系统的服务中Workstation Telephony Remote Access Connection Manager Routin
  • 已获万赞,最新Android通用流行框架大全

    前言 2021全年从开头到结尾似乎就没多少好消息 这里我说的是整个互联网行业 并没有单单挑出某个公司或者某个细分领域 而对于广大Android开发者来说 找工作似乎也变得越来越难了 2021年1月 我在51job搜索了一下北京地区的Andr
  • 基于STM32 的IIC 模拟主机编写

    最近在学习STM32 的IIC IO 模拟主机方式 好像失败了 include myiic h include delay h MCU VERSION DATA 作者 other Function IIC
  • 吴恩达深度学习笔记五:卷积神经网络 人脸识别和风格迁移部分

    1 人脸识别 人脸验证 Face Verification 输入图片和模板图片是否为同一人 一对一问题 人脸识别 Face Recognition 输入图片 检测是否为多个模板图片中的一个 一对多问题 一般来说 人脸验证由于范围较小难度较小
  • MyBatis实现乐观锁和悲观锁

    使用mysql做数据库 mybatis做orm的系统中 mybatis的乐观锁和悲观锁实际上就是mysql的乐观锁和悲观锁 实例中使用springboot整合mybatis 一并记录了 添加依赖
  • 【数据压缩】LZW编解码原理及算法实现

    一 LZW简介 LZW压缩 LZW compression 是一种由Abraham Lempel Jacob Ziv和Terry Welch发明的基于表查寻算法把文件压缩成小文件的无损压缩方法 LZW算法又叫 串表压缩算法 就是通过建立一个
  • 计算机毕业论文选题 - 毕设选题推荐

    文章目录 0 前言 1 java web 管理系统 毕设选题 2 java web 平台 业务系统 毕设选题 3 游戏设计 动画设计类 毕设选题 适合数媒的同学 4 算法开发 5 数据挖掘 毕设选题 6 大数据处理 云计算 区块链 毕设选题
  • npm 常用的命令

    目录 npm是什么 npm install 安装模块 npm uninstall 卸载模块 npm update 更新模块 npm outdated 检测模块是否过时 npm ls 查看安装的模块 npm init 初始化package j
  • Ubuntu +ros 的node的详解

    1 rosrun turtlesim turtlesim node 启用一个新的节点 2 rosnode list 就会发现一个新的节点 3 rosnode info turtlesim 查看节点的相关信息 4 就会看到发布者 以及相应的主
  • 原生js本地存储?看这一篇就够了!!!

    JS cookie 1 概述 cookie也叫HTTP Cookie 最初是客户端与服务器端进行会话 Session 使用的 如果没写expires 那么下次打开网页 cookie就会消失 这个就是会话机制 2 格式 name value
  • C++中基类和派生类之间的转换实例

    本文实例讲解了C 中基类和派生类之间的转换 对于深入理解C 面向对象程序设计有一定的帮助作用 此处需要注意 本文实例讲解内容的前提是派生类继承基类的方式是公有继承 关键字public 具体分析如下 以下程序为讲解示例 1 2 3 4 5 6
  • OSG学习笔记22——设置物体透明,再恢复

    设置物体透明 trans是透明度的设置 这里如果没有setRenderingHint 虽然看起来是透明的 但模型还是会遮挡其他模型 然后就是BLEND要打开 光照和深度测试要关掉 模型的材质也要事先设置 并将材质保存起来以便恢复的时候调用
  • 虚拟机磁盘挂载和扩容

    磁盘挂载 查看磁盘状态 lsblk 格式化磁盘 主意上一步查看的磁盘格式 下面以ext4为例 mkfs ext4 dev vdb 挂载磁盘 mount dev vdb root 修改文件 vi etc fstab 在最后一行加上 dev v
  • 命令行发送UDP

    https www cnblogs com Dennis mi articles 6866762 html 如果往本地UDP端口發送數據 那麼可以使用以下命令 echo hello gt dev udp 192 168 1 81 5060
  • linux 7 虚拟机安装,CentOS 7上使用virt-manager安装虚拟机

    KVM Kernel based Virtual Machine 是基于x86架构上Linux操作系统的全虚拟化解决方案 在CentOS7中 KVM已经被集成到内核中 相当于使用内核来做虚拟机管理程序 由于KVM本身就工作内核环境中 所以执
  • arthas常用命令整理

    官网链接 Arthas Install Arthas 3 5 4 文档Arthas Install Arthas 3 5 4 文档 今天是1024程序员节 昨天研究了下arthas整理一下笔记 常用命令 watch watch Arthas