1. 程式人生 > >在Jenkins上用Dr Memory做記憶體測試

在Jenkins上用Dr Memory做記憶體測試

打算在Jenkins上執行Gtest測試例的記憶體洩漏測試,因為只能拿到dll,所以選擇Dr Memory作為測試工具。這樣只需要exe和dll就可以完成測試。不過最好使用debug版的,否則最後給出的報告只能有模組和偏移地址,無法給出具體的程式碼行號。

1. 開始嘗試了下Dr Memory的Jenkins外掛,Dr Memory plugin,居然執行就崩潰,而且slave的連線都被強制斷開。所以只能用命令列來進行了。

2. 使用命令列

drmemory.exe -logdir "F:\Jenkins\workspace\MemoryTest\logs" -batch -quiet F:\bin\unittest.exe -xml

定義log檔案目錄,和靜默執行

3. 要確認log目錄已存在

if not exist logs mkdir logs

4. 要把生成的結果檔案發出來,但是生成的log結果檔案會在一個新建資料夾中。而這個資料夾名稱還包含一個pid號,所以是不可預測的。。。只能檢索出這個檔案了。用forfile可以較方便的做到。

forfiles /S /M results.txt /P "F:\Jenkins\workspace\MemoryTest\logs" /D 0 /C "cmd /c copy @file F:\Jenkins\workspace\MemoryTest\"

5. 找到這個當天生成的results.txt檔案並複製出來就容易了,用copy to slave plugin把這個檔案傳回master後,就可以作為附件發郵件了。