如何在运行时更改byteman的规则



我已经运行远程测试服务器,我想使用byteman对现有代码进行一些修改。

是否有可能在运行时使用自定义规则文件附加byteman(在开始时我们应该设置规则文件,这在大多数情况下是不灵活的)?

是否有可能在启动服务器时不添加-javaagent而将其连接到正在运行的服务器?

有一个非常详细的教程,网址是:https://community.jboss.org/wiki/ABytemanTutorial#how_do_i_install_the_agent_into_a_running_program

正如本教程所提到的,您可以随时使用bminstall.sh将byteman代理安装到正在运行的JVM中,在安装byteman代理之后,您可以使用bmsubmit.sh将byteman脚本提交到JVM中。

例如:

步骤1:

bminstall.sh -h 192.168.0.1 -p 8080 -b -Dorg.jboss.byteman.transform.all 12345

上面命令中的参数12345是您的java进程ID的pid

步骤2:

bmsubmit.sh -h 192.168.0.1 -p 8080 -l abc.btm

有关这些命令的更详细使用方法,请参考相应的命令帮助。

此外,还有一个程序员指南(PDF): http://downloads.jboss.org/byteman/2.1.3/ProgrammersGuide-2.1.3.1.pdf

最新更新