在Jenkins上用Dr Memory做内存测试
程序员文章站
2022-06-01 17:28:21
...
打算在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后,就可以作为附件发邮件了。