很久沒有用APP Verifier,昨天用它做了一下內存泄露的測試。現在寫一點App verifier的基本使用。
App verifier是一個用來檢測程序穩定性的工具。主要是用來做內存泄露的測試。它分爲device版本的和PC版本的。Device版本的使用過程如下:
1.複製exe文件到device.
啓動device,在device上新建一個目錄如/test,並把要測試的程序test.ext 拷到這個目錄。這樣,被測試的程序目錄結構爲/test/test.exe.
2.複製Armv4i文件到device. 把SDK中的armv4i目錄考到my documents目錄。
我的目錄爲D:/Program Files/Application Verifier for Mobile 5.0/Armv4i,那麼就直接把它拷到my documents目錄下,包括裏面所有的文件。
3.在device的根目錄下新建一個release目錄,把map文件複製到這個目錄下。
不過我發現建不建這個文件夾,複製不復制都可以。只是建了release目錄,log就在這個目錄,如果沒有,那麼log就生成在根目錄。
4.運行App verifier。
就是運行第2步中拷到may documents/armv4i目錄中AppVerif.exe。如果有提示無法load dll,先運行這個目錄下的shimexp,選擇shimeng(提示中的dll) 選擇add,選擇要運行的程序,就是/test/test.exe文件。 選擇測試項目。包括heap verifier,handle leak tracker, shell verifier. 記住,不要點ok或X鍵。
5.運行剛纔選擇的test.exe.
6.在release目錄下生成了log文件,用"avlogview.exe"打開log文件。
如果建了release目錄,log就在這個目錄,如果沒有,那麼log就生成在根目錄。
用avlogview.exe打開log,先選擇log文件,然後選擇map文件。
什麼是map文件?簡單地講, MAP 文件是程序的全局符號、源文件和代碼行號信息的唯一的文本表示方法,它可以在任何地方、任何時候使用,不需要有額外的程序進行支持。而且,這是唯一能找出程序崩潰的地方的救星。
生成map文件?Project->Properties->configuration properties->linker->Debugging->Map Expoerts(No->Yes)
PC版的使用方法如下:
1.同步手機和PC,並在ActiveSync中做如下設置: File->Connection Setting->Allow connection to one of the following->DMA->OK
2.複製測試文件到設備。 我這裏還是/test/test.exe.
3.打開PC的App Verifer,選擇connect->setting->Add Device->Properties.
在Device properties中設置Transpor→Microsoft ActiveSync, 設置Startup→Microsoft ActiveSync,然後點Test→OK→OK→OK; 我的目錄是D:/Program Files/Application Verifier for Mobile 5.0/Desktop,打開裏面的AppVerifCE.exe。
4.回到Device Connection目錄中,點connect->剛纔建的設備名->OK.
5.回到主界面,點Add,選擇device上的測試文件。
就是/test/test.exe.並勾上覆選框。
6.然後在設置上運行要測試的文件。 7.運行完成,點"get log",然後選View Exported log.