欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在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后,就可以作为附件发邮件了。