我正在使用valgrind来查找和跟踪内存问题。现在我想做这样的事情:
before = getValgrindState();
do_something_curious();
after = getValgrindState();
difference = after - before;
std::cout << difference;
valgrind可以这样吗?
MS Visual C ++运行时提供以下功能:
我想知道是否有办法用valgrind实现类似的功能。
答案 0 :(得分:1)
执行所需操作的原始/破坏性方法是使用_exit()
(注意下划线)以避免调用任何析构函数。
_exit()
之前调用do_something_curious();
的代码运行valgrind / memcheck _exit()
do_something_curious();
再次运行valgrind / memcheck
do_something_curious()
留下了什么。 [我无法弄清楚地块将如何做你想做的事情(有没有办法让地块跟踪free
/ delete
操作并与malloc
/ {协调{1}}我错过了哪些操作?)]
答案 1 :(得分:0)
你想测量什么?什么是“差异”应该是什么?如果要检查内存使用情况,请尝试使用valgrind的massif tool。 Massif Visualizer对于解释结果非常有用。