從J2SE 5.0開始,JPDA包括了服務提供器接口,允許對連接器與傳送器實例進行開發與配置。這些服務提供器服務接口允許調試器和其它工具供應商開發新的連接器實例,并提供除Sun的套接字和共享內存以外的其它傳送器裝置。
被調試者與調試器之間的通信以連接為導向。因此,一方必須作為服務器,收聽一個連接;另一方作為一個客戶端連接到服務器。JPDA允許以調試應用程序和目標VM為服務器。
JPDA實際應用
如果你需要使用套接字傳送器,在對應的JVM中以dt_socket為名確定自變量的類型。如果被調試者和調試器位于同一機器之中,且運行的是Windows系統,你可以使用名為dt_schmem的共享內存連接器。如果你希望用一個與JPDA兼容的調試器調試應用程序,你應在調試模式下運行調試器,并提交其它參數,如傳送器類型、主機名稱、端口號及其它信息。所有JPDA和調試參數必須在啟動應用程序時作為自變量提交。
要進行調試,你必須將調試JDWP代理加載到應用程序的JVM中。從Java 5.0開始,你可以用-agentlib:jdwp選項來完成加載。5.0以前版本則使用-Xdebug和-Xrunjdwp選項(5.0也支持-Xdebug和-Xrunjdwp選項,不過新的-agentlib:jdwp選項更加好用。因為5.0中的JDWP代理使用JVMTI接口連接VM,而非舊的JVMDI接口)。你應該向-agentlib:jdwp(Java 5.0中)或-Xrunjdwp(Java 5.0以前版本) 參數提供子選項;兩組可能的子選項相同。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/