BTrace示例(一) 简单参数

被调试程序

@RestController
@RequestMapping("/ch4")
public class Ch4Controller {
    
    @RequestMapping("/arg1")
    public String arg1(@RequestParam("name") String name) {
        return "hello," + name;
    }   

}

BTrace脚本

package com.btrace.example;

import com.sun.btrace.AnyType;
import com.sun.btrace.BTraceUtils;
import com.sun.btrace.annotations.BTrace;
import com.sun.btrace.annotations.Kind;
import com.sun.btrace.annotations.Location;
import com.sun.btrace.annotations.OnMethod;
import com.sun.btrace.annotations.ProbeClassName;
import com.sun.btrace.annotations.ProbeMethodName;

@BTrace
public class PrintArgSimple {
    
    @OnMethod(
            clazz="com.example.demo.btrace.Ch4Controller",
            method="arg1",
            location=@Location(Kind.ENTRY)
    )
    public static void anyRead(@ProbeClassName String pcn, @ProbeMethodName String pmn, AnyType[] args) {
        BTraceUtils.printArray(args);
        BTraceUtils.println(pcn);
        BTraceUtils.println(pmn);
        BTraceUtils.println();
    }

}

执行BTrace脚本

  • 当发起请求时:
http://localhost:8088/ch4/arg1?name=333
  • 执行的BTrace脚本会拦截到:
btrace 19384 C:\Users\LiXinlei\Desktop\btrace\src\com\btrace\example\PrintArgSimple.java
[333, ]
com.example.demo.btrace.Ch4Controller
arg1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接:http://www.dubby.cn/detail.html?id=9060 别着急着上手,请按捺住你...
    我是杨正阅读 398评论 0 1
  • 简介 BTrace是一个安全的JVM动态追踪工具,最初为原Sun公司Kenai项目下面的一个子项目。 典型的使用场...
    lfckop阅读 5,658评论 10 13
  • 本文转自http://www.fanyilun.me/2017/07/18/%E8%B0%88%E8%B0%88J...
    一帅阅读 2,140评论 0 9
  • 【转自】http://www.jianshu.com/p/dbb3a8b5c92f 背景 记得前几天有人问我:在生...
    lxqfirst阅读 793评论 0 0
  • 这样的你只能是这样,整天异想天开,整天憧憬着美好生活,想象着自己创造的未来,确只是想想,每天给自己定计划,做鼓...
    小茉儿阅读 301评论 0 0