[alibaba/arthas]arths无法查看pinpoint2中ExceptionHandleAroundInterceptor调用

2024-07-17 647 views
7
环境信息
  • Arthas 版本:3.5.3
  • 操作系统版本: mac
  • 目标进程的JVM版本: jdk1.8
  • 执行arthas-boot的版本: 3.5.3
重现问题的步骤
  1. 使用arthas无法监控pinpoint2中使用asm加强之后的方法
[arthas@51943]$ sm com.navercorp.pinpoint.bootstrap.interceptor.ExceptionHandleAroundInterceptor before
com.navercorp.pinpoint.bootstrap.interceptor.ExceptionHandleAroundInterceptor before(Ljava/lang/Object;[Ljava/lang/Object;)V
Affect(row-cnt:1) cost in 15 ms.

[arthas@51943]$ stack com.navercorp.pinpoint.bootstrap.interceptor.ExceptionHandleAroundInterceptor before
Affect(class count: 0 , method count: 0) cost in 14 ms, listenerId: 4
No class or method is affected, try:
1. Execute `sm CLASS_NAME METHOD_NAME` to make sure the method you are tracing actually exists (it might be in your parent class).
2. Execute `options unsafe true`, if you want to enhance the classes under the `java.*` package.
3. Execute `reset CLASS_NAME` and try again, your method body might be too large.
4. Check arthas log: /Users/liangxs/logs/arthas/arthas.log
5. Visit https://github.com/alibaba/arthas/issues/47 for more details.

回答

5

应该是 pinpoint 把加自己加到 bootstrap classloader里,可以试下打开 unsafe 。

8

pinpoint2使用jdk11编译,没看到哪里有开启unsafe这个参数的设置

2

执行了options unsafe true可以看到了,谢谢大佬