您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > TPTP接口
如何用TPTP來調(diào)試你的程序
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/12/18 11:45:45 ] 推薦標簽:

  TPTP全稱Test and Performance Tools Platform, 在你的應(yīng)用正式進入生產(chǎn)系統(tǒng)之前,我們都用用類似的工具來測試我們的系統(tǒng),找到影響性能的熱點(hot spot), 內(nèi)存益處,io block, 線程等等問題.
  使用TPTP, 第一步要做得當然是下載TPTP, 我建議大家下載All-in-One, 這樣省去了很多繁瑣的plug-in的安裝。
  TPTP運行有兩種模式, 一種是在TPTP的workbench里,一種是通過JVMPI(類似JVMDI, 遠程調(diào)試的模式), 第一種需要你的項目導(dǎo)入到TPTP里, 第二種模式,你可以很隨意的在命令行運行你的程序,通過JVMPI(或者JVMTI)將你的JVM attach 到TPTP, 來進行調(diào)試
  這里有幾個名詞你可能比較陌生,JVMPI, JVMDI, JVMTI, 我在前面已經(jīng)加了鏈接, 你需要了解一下,值得關(guān)注的是JVMPI, JVMDI, 在JDK6里已經(jīng)不存在了, 所以如果你的應(yīng)用是基于JDK6的,那么你啟動應(yīng)用的JVMARG是不同的.
  在4.4之前,通過JVMPI,你需要下載單獨運行的Agent Controller, 但是4.4以后,你不再需要了,agent是自動啟動的, 你會發(fā)現(xiàn)在你打開了"profiler..."對話框后,系統(tǒng)多了一個ACServer的進程
  我很少使用Eclipse 來做開發(fā),所以我的代碼都不是Eclipse的項目,所以我重點介紹如何用第二種方式來進行調(diào)試
  這里需要分JDK, 不同JDK版本,應(yīng)用的啟動方式是不同的,如果你用的是JDK5和JDK5之前的版本, 那么在JVMArgu 里需要加入這樣的參數(shù):

-XrunpiAgent:server=enabled
  如果是JDK5之后的版本,你必須使用JVMTI的接口, JVMPI已經(jīng)被刪除了(而且你需要添加一個端口10006), 那么你的JVM參數(shù)是這樣的:

-agentlib:JPIBootLoader=JPIAgent:server=enabled;CGProf
  事實上server的模式除了enable 以外,還有另外兩種, 一種是standalone, 也是說,這種模式會產(chǎn)生一個log 文件,默認名字是trace.trcxml, 你可以將這個文件導(dǎo)入TPTP來分析


-agentlib:JPIBootLoader=JPIAgent:server=standalone,file=log.trcxml;CGProf
  還有一種是Controlled , 具體的用法可以參考手冊
  在4.3之后,TPTP支持自動發(fā)現(xiàn),只要你刷新Agent, TPTP 會自動發(fā)現(xiàn)你的JVM
  但是不管哪種模式,你都必須設(shè)置環(huán)境變量

a) Set TPTP_AC_HOME=>

b) Set JAVA_PROFILER_HOME=%TPTP_AC_HOME%pluginsorg.eclipse.tptp.javaprofiler

c) Set PATH=%JAVA_PROFILER_HOME%;%PATH%;%TPTP_AC_HOME%bin

d) Set PATH=%PATH%;%JAVA_HOME%bin
  否則你將得到下面的錯誤信息:

     [java] Error occurred during initialization of VM
     [java] Could not find agent library on the library path or in the local dir
ectory: JPIBootLoader

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd