小编str*_*t54的帖子

在macOS上使用DTrace分析Java应用程序

我试图在macOS Sierra 10.12上使用DTrace配置Java应用程序.我正在使用JDK8:

?> ~ java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

?> ~ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

我的最终目标是跟踪特定包的所有Java方法条目和出口.

HotSpot VMMac OS X端口中的DTrace探测器使用HotSpot DTrace探测器似乎表明,事实上这应该在macOS上得到支持.但是,即使我的Java应用程序正在运行,也没有hotspot可用的探测器并且jstack()似乎失败:

?> ~ pgrep java
24564

?> ~ sudo dtrace  -ln 'hotspot*:::'
dtrace: system integrity protection is on, some features will not be available

   ID   PROVIDER            MODULE                          FUNCTION NAME
dtrace: failed to match hotspot*:::: No probe matches description …
Run Code Online (Sandbox Code Playgroud)

java macos profiler dtrace

7
推荐指数
1
解决办法
974
查看次数

标签 统计

dtrace ×1

java ×1

macos ×1

profiler ×1