arthas
文章平均质量分 92
本吹灯
这个作者很懒,什么都没留下…
展开
-
使用ANSI控制字体颜色
引言ANSI是一种字符编码,其扩展了ASCII编码。如果想在终端输出带有颜色的字体,可以通过ANSI来实现。window 系统不支持颜色,cygwin 和 mingw支持颜色。控制码ANSI控制码均以 Esc 作为控制码的开始标志,其中,Esc 的ansi十进制码为 27,八进制码为33,所以可以使用 \033 表示。\33[0m 关闭所有属性\33[1m 设置高亮度\3...原创 2020-04-30 15:06:39 · 5711 阅读 · 0 评论 -
《arthas源码分析》arthas启动流程分析(二)
执行java -jar 之后,便会进入Arthas|#main,下面对其进行详细分析。ArthasArthas#main创建Arthas。当发生异常时,打印错误日志,并退出System.exit(-1);在arthas-boot.jar 进程中会接受到exit code,当exit code = -1时,会结束arthas 进程。主要做了两件事1、解析参数,2、attach到目标进程。...原创 2020-05-06 17:47:59 · 731 阅读 · 1 评论 -
《arthas源码分析》arthas启动流程分析(一)
arthas启动curl -O https://alibaba.github.io/arthas/arthas-boot.jarjava -jar arthas-boot.jar选择应用的java进程:$ java -jar arthas-boot.jar[1]: 35542[2]: 71560 arthas-demo.jarBootstrap其中main方法是启动入口。静态代码...原创 2020-05-06 17:46:20 · 1097 阅读 · 0 评论 -
《arthas源码分析》字节码增强(三)
前言当执行reset、shutdown命令之后,需要对增强后的目标类进行恢复,本篇将详细介绍如何恢复。注意:reset命令对redefine的类无效。redefine后的原来的类不能恢复。如果想重置,需要redefine原始的字节码。 原因是redefine和retransform是不同的机制,详情参见我之前写的文章。源码分析ResetCommand#process@Overridep...原创 2020-05-05 18:52:03 · 1058 阅读 · 1 评论 -
《arthas源码分析》字节码增强(一)
命令介绍方法执行数据观测让你能方便的观察到指定方法的调用情况。能观察到的范围为:返回值、抛出异常、入参,通过编写 OGNL 表达式进行对应变量的查看。源码分析EnhancerCommand#process每个命令的入口都是process()方法@Overridepublic void process(final CommandProcess process) { // ct...原创 2020-05-05 18:48:37 · 1881 阅读 · 0 评论