2013-05-27 49 views
0

我已經運行遠程測試服務器,我想使用byteman對現有代碼進行一些修改。如何在運行時更改byteman的規則

是否有可能在運行時將自定義規則文件附加byteman(啓動時我們應該設置規則文件,這在大多數情況下不靈活)?

在啓動服務器時,是否可以將它連接到正在運行的服務器而不添加-javaagent?

回答

0

有一個非常詳細的教程,網址是: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