我需要一点帮助来理解这两个规则的问题。
RULE inefficient FilterOutputStream write trace
CLASS java.io.FilterOutputStream
METHOD write( int )
AT RETURN
IF TRUE
DO traceStack("*** Slow write calls ***", 10)
ENDRULE
RULE inefficient FilterInputStream read trace
CLASS java.io.FilterInputStream
METHOD read( )
AT RETURN
IF TRUE
DO traceStack("*** Slow read calls ***", 10)
ENDRULE
运行bmcheck显示
Checking rule inefficient FilterOutputStream write trace against class java.io.FilterOutputStream
Parsed rule "inefficient FilterOutputStream write trace" for class java.io.FilterOutputStream
Type checked rule "inefficient FilterOutputStream write trace"
Checking rule inefficient FilterInputStream read trace against class java.io.FilterInputStream
Parsed rule "inefficient FilterInputStream read trace" for class java.io.FilterInputStream
Type checked rule "inefficient FilterInputStream read trace"
TestScript: no errors
当提交规则时,我看到这个错误
$ jboss/byteman/byteman-download-4.0.17/bin/bmsubmit.sh -u /somewhere/scripts/InefficientIOStreamHandling.btm
Failed to process request: java.lang.Exception: The remote byteman agent reported an error:
ERROR failed to find loaded rule with name inefficient FilterOutputStream write trace
ERROR failed to find loaded rule with name inefficient FilterInputStream read trace
ERROR No rule scripts to remove
-- Args were: [/somewhere/scripts/InefficientIOStreamHandling.btm]
java.lang.Exception: The remote byteman agent reported an error:
ERROR failed to find loaded rule with name inefficient FilterOutputStream write trace
ERROR failed to find loaded rule with name inefficient FilterInputStream read trace
ERROR No rule scripts to remove
at org.jboss.byteman.agent.submit.Submit$Comm.readResponse(Submit.java:966)
at org.jboss.byteman.agent.submit.Submit.submitRequest(Submit.java:790)
at org.jboss.byteman.agent.submit.Submit.deleteScripts(Submit.java:697)
at org.jboss.byteman.agent.submit.Submit.deleteRulesFromFiles(Submit.java:649)
at org.jboss.byteman.agent.submit.Submit.main(Submit.java:1144)
$
在jvm的控制台中有这个
$ TransformListener() : handling connection on port 9091
$
还有什么需要我检查的吗?
$ java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)
$
应该使用bmsubmit.sh -l来加载一个脚本。