import{_ as c,o as n,c as h,b as o,w as r,a,d as i,e,r as s}from"./app.977e81c1.js";const l={},_=i('
artahs \u600E\u4E48\u4F7F\u7528\uFF1F
Arthas \u662F\u4E00\u4E2AJava\u8BCA\u65AD\u5DE5\u5177\uFF0C\u5B83\u63D0\u4F9B\u4E86\u4E30\u5BCC\u7684\u547D\u4EE4\u6765\u5E2E\u52A9\u5F00\u53D1\u8005\u8BCA\u65AD\u5E94\u7528\u7A0B\u5E8F\u7684\u8FD0\u884C\u65F6\u95EE\u9898\u3002\u4EE5\u4E0B\u662F\u5982\u4F55\u4F7F\u7528 Arthas \u7684\u7B80\u8981\u6307\u5357\uFF0C\u57FA\u4E8E\u4F60\u63D0\u4F9B\u7684\u4FE1\u606F\uFF1A
\u5B89\u88C5 Arthas\uFF1A\u9996\u5148\uFF0C\u786E\u4FDD\u4F60\u5DF2\u7ECF\u5B89\u88C5\u4E86 Arthas\u3002\u5982\u679C\u5C1A\u672A\u5B89\u88C5\uFF0C\u53EF\u4EE5\u901A\u8FC7\u4E0B\u8F7D\u5176\u53D1\u5E03\u5305\u6216\u4F7F\u7528 Homebrew\uFF08\u9488\u5BF9 macOS \u7528\u6237\uFF09\u7B49\u65B9\u5F0F\u5B89\u88C5\u3002\u5177\u4F53\u5B89\u88C5\u6B65\u9AA4\u53EF\u53C2\u8003 Arthas \u7684\u5B98\u65B9\u6587\u6863\u3002
\u8FDE\u63A5\u5230\u76EE\u6807 Java \u5E94\u7528\uFF1A\u542F\u52A8 Arthas \u540E\uFF0C\u4F60\u9700\u8981\u8FDE\u63A5\u5230\u4F60\u60F3\u8BCA\u65AD\u7684 Java \u8FDB\u7A0B\u3002\u901A\u8FC7\u547D\u4EE4\u884C\u8F93\u5165 java -jar arthas-boot.jar
\uFF0C\u5B83\u4F1A\u5217\u51FA\u6240\u6709\u6B63\u5728\u8FD0\u884C\u7684 Java \u8FDB\u7A0B\u3002\u9009\u62E9\u4F60\u60F3\u8FDE\u63A5\u7684\u8FDB\u7A0B\u7F16\u53F7\u5E76\u8F93\u5165\uFF0C\u5373\u53EF\u8FDB\u5165 Arthas \u7684\u4EA4\u4E92\u754C\u9762\u3002
trace
\u547D\u4EE4\u4E00\u65E6\u8FDB\u5165 Arthas \u7684\u4EA4\u4E92\u754C\u9762\uFF0C\u4F60\u53EF\u4EE5\u4F7F\u7528 trace
\u547D\u4EE4\u6765\u8DDF\u8E2A\u65B9\u6CD5\u7684\u8C03\u7528\u94FE\u8DEF\u53CA\u8017\u65F6\uFF0C\u8FD9\u5BF9\u4E8E\u5B9A\u4F4D\u6027\u80FD\u74F6\u9888\u6216\u7406\u89E3\u4EE3\u7801\u6267\u884C\u6D41\u7A0B\u975E\u5E38\u6709\u5E2E\u52A9\u3002
\u8DDF\u8E2A\u5355\u4E2A\u65B9\u6CD5\uFF1A\u5047\u8BBE\u4F60\u8981\u8DDF\u8E2A demo.MathGame
\u7C7B\u4E2D\u7684 run
\u65B9\u6CD5\uFF0C\u8F93\u5165\u547D\u4EE4 trace demo.MathGame run
\u3002\u8FD9\u4F1A\u663E\u793A\u6BCF\u6B21 run
\u65B9\u6CD5\u88AB\u8C03\u7528\u65F6\u7684\u8BE6\u7EC6\u5806\u6808\u4FE1\u606F\uFF0C\u5305\u62EC\u8C03\u7528\u65F6\u95F4\u3001\u7EBF\u7A0B\u4FE1\u606F\u4EE5\u53CA\u5185\u90E8\u8C03\u7528\u7684\u65B9\u6CD5\u7B49\u3002
\u9650\u5236\u8F93\u51FA\uFF1A\u5982\u679C\u65B9\u6CD5\u8C03\u7528\u9891\u7E41\uFF0C\u53EF\u4EE5\u4F7F\u7528 -n
\u53C2\u6570\u9650\u5236\u8F93\u51FA\u6B21\u6570\uFF0C\u5982 trace demo.MathGame run -n 1
\u4EC5\u8FFD\u8E2A\u4E00\u6B21\u8C03\u7528\u540E\u5373\u505C\u6B62\u3002
\u67E5\u770B\u8C03\u7528\u8017\u65F6\uFF1A\u901A\u8FC7\u6DFB\u52A0\u6761\u4EF6\u8FC7\u6EE4\uFF0C\u5982 trace demo.MathGame run '#cost > 10'
\uFF0C\u4EC5\u5C55\u793A\u8017\u65F6\u8D85\u8FC710\u6BEB\u79D2\u7684\u8C03\u7528\u8DEF\u5F84\u3002
\u5305\u542B/\u6392\u9664\u7279\u5B9A\u7C7B\u6216\u65B9\u6CD5\uFF1A\u4F7F\u7528 -E
\u53C2\u6570\u5339\u914D\u591A\u4E2A\u7C7B\u6216\u65B9\u6CD5\uFF0C\u4F8B\u5982 trace -E com.test.ClassA|org.test.ClassB method1|method2|method3
\u3002\u4F7F\u7528 --exclude-class-pattern
\u6765\u6392\u9664\u7279\u5B9A\u7C7B\uFF0C\u5982 trace javax.servlet.Filter * --exclude-class-pattern com.demo.TestFilter
\u3002
\u6307\u5B9A\u6700\u5927\u7C7B/\u65B9\u6CD5\u5339\u914D\u6570\u91CF\uFF1A\u4F7F\u7528 -m
\u53C2\u6570\u9650\u5236\u8FFD\u8E2A\u7684\u7C7B\u6216\u65B9\u6CD5\u6570\u91CF\uFF0C\u4F8B\u5982 trace demo.MathGame run -m 1
\u3002
\u5305\u542B JDK \u65B9\u6CD5\uFF1A\u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0Ctrace
\u4E0D\u4F1A\u8FFD\u8E2A JDK \u5185\u90E8\u7684\u65B9\u6CD5\u3002\u82E5\u9700\u5305\u542B\uFF0C\u4F7F\u7528 --skipJDKMethod false
\uFF0C\u5982 trace --skipJDKMethod false demo.MathGame run
\u3002
[12.033735ms]
\uFF09\u8868\u793A\u8BE5\u65B9\u6CD5\u8C03\u7528\u7684\u8017\u65F6\u30020,0,0ms,11
\uFF09\u5C55\u793A\u4E86\u65B9\u6CD5\u8C03\u7528\u7684\u8017\u65F6\u5206\u5E03\uFF0C\u5305\u62EC\u6700\u5C0F\u3001\u6700\u5927\u8017\u65F6\u3001\u603B\u8017\u65F6\u548C\u8C03\u7528\u6B21\u6570\uFF0C\u4EE5\u53CA\u662F\u5426\u5B58\u5728\u5F02\u5E38\u4FE1\u606F\u3002\u7EFC\u4E0A\u6240\u8FF0\uFF0C\u5229\u7528 Arthas \u7684 trace
\u547D\u4EE4\uFF0C\u4F60\u53EF\u4EE5\u6709\u6548\u5730\u76D1\u63A7\u548C\u8BCA\u65AD Java \u5E94\u7528\u7A0B\u5E8F\u4E2D\u7684\u65B9\u6CD5\u8C03\u7528\u884C\u4E3A\uFF0C\u8FDB\u800C\u5B9A\u4F4D\u6027\u80FD\u95EE\u9898\u6216\u7406\u89E3\u7A0B\u5E8F\u7684\u6267\u884C\u6D41\u7A0B\u3002\u8BF7\u6839\u636E\u5B9E\u9645\u9700\u8981\u7075\u6D3B\u8FD0\u7528\u4E0A\u8FF0\u547D\u4EE4\u548C\u9009\u9879\u3002