美文网首页
04.BTrace 监控与调试

04.BTrace 监控与调试

作者: 心释逍遥lx | 来源:发表于2020-03-14 19:10 被阅读0次

Jvm与调优 imooc JVM Markdown

BTrace可以动态地向目标应用程序的字节码注入追踪代码
BTrace 只能本地执行,不支持远程
BTrace 可以在生产环境下使用,但是被修改的字节码不会被还原
JavaComplierApi、JVMTI、Agent、Instrucmentation + ASM

BTrace安装

两种运行脚本方式

  • 在JVisualVM中添加Btrace插件,添加classpath
  • 使用命令行btrace <pid> <trace_script>

拦截构造函数、同名函数

拦截方法

  • 普通方法: :@OnMethod(clazz="",method="")
  • 构造函数: : @OnMethod(clazz="",method="<init>")
    tips: 构造函数在字节码层面就是init。
  • 拦截同名函数,用参数区分

拦截时机

kind.ENTRY : 入口,默认值
Kind.RETURN: 返回
Kind.THROE : 异常
Kind.Line  : 行

拦截this、参数、返回值

  • **this: ** @Self
  • 入参: 可以用AnyType,也可以用真实类型,同名的用真实的
  • 返回: @Return
  • 简单类型: 直接获取
  • 复杂类型: 反射,类名+属性名

其他应用

  • 打印行号: Kind.LINE
  • 打印堆栈: Threads.jstack()
  • 打印环境变量

相关文章

  • 04.BTrace 监控与调试

    Jvm与调优 imooc JVM Markdown BTrace可以动态地向目标应用程序的字节码注入追踪代码BT...

  • JVM性能调优实战(〇) - 简介

    收获 计划安排 基于JDK命令行工具的监控 基于Btrace的监控调试 Tomcat性能监控与调优 Nginx性能...

  • 2018-06-03

    Jikes RVM 50 Useful Kubernetes Tools 深度解析Tengine的调试与资源监控方...

  • 性能优化之调试工具

    一、sources打断点调试 dom元素断点调试: 二、性能监控插件 Audits: pagespeed: 分析页...

  • springboot远程debug

    两种调试 远程调试分为主动连接调试,和被动连接调试: 主动连接调试:服务端配置监控端口,本地IDE连接远程监听端口...

  • 安卓开发2-DDMS中logCat

    DDMS: -- Dalvik Debug Monitor Service-- 调试监控服务 DDMS的作用: -...

  • 3.30

    建筑智能化工程的调试检测要求 本部分包括调试检测实施,自动监控设备的检测机安全防范工程的调试检测要求 调试检测实施...

  • iOS性能优化-instruments

    Xcode 自带的监控调试工具 instruments 调试和优化的代码 Profiler:分析代码的执行时间,找...

  • 调试工具

    profile运行工程:Instruments是一种与Xcode紧密集成的调试工具,可以实时监控并统计应用运行时的...

  • 运行和调试

    1.调试可以通过vscode断点进行调试 2.nodemon 可以时时监控 node.js的变化 命令:npm i...

网友评论

      本文标题:04.BTrace 监控与调试

      本文链接:https://www.haomeiwen.com/subject/ffcnshtx.html