0

我需要一点帮助来理解两条规则有什么问题。

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)
$
4

1 回答 1

0

应该使用 bmsubmit.sh -l加载脚本。

于 2021-10-21T09:40:40.223 回答