如何在C++; 我有一个C++程序在Linux下运行。是否可以从代码中跟踪其内存使用情况?我正在分配新对象并耗尽内存,因此我希望跟踪我使用内存的速度
谢谢您可以重载如何在C++; 我有一个C++程序在Linux下运行。是否可以从代码中跟踪其内存使用情况?我正在分配新对象并耗尽内存,因此我希望跟踪我使用内存的速度,c++,linux,memory-management,C++,Linux,Memory Management,谢谢您可以重载::operator new来跟踪内存使用情况(通常,其他所有操作都会通过此操作)。单击“代码”,然后单击“MMGR”,然后单击以红色字母显示“代码”的图形 MMGR将加入到您的项目中。将它包含在任何需要全面内存跟踪的源文件中,其余的都由它完成。尽管他的网站毫无用处,但这真的很神奇。你可以试试我的实验;-) Valgrinds模块地块正是您想要的 标题注释中写道“最好使用8个字符的选项卡和(至少)132列查看”。我不确定是笑还是哭。我只是在Linux上试过这个,但它不能用GCC4.
::operator new
来跟踪内存使用情况(通常,其他所有操作都会通过此操作)。单击“代码”,然后单击“MMGR”,然后单击以红色字母显示“代码”的图形
MMGR将加入到您的项目中。将它包含在任何需要全面内存跟踪的源文件中,其余的都由它完成。尽管他的网站毫无用处,但这真的很神奇。你可以试试我的实验;-) Valgrinds模块地块正是您想要的
标题注释中写道“最好使用8个字符的选项卡和(至少)132列查看”。我不确定是笑还是哭。我只是在Linux上试过这个,但它不能用GCC4.3.2干净地编译。要使其正常工作,请在mmgr.cpp中删除
stdafdx.h
include和前缀new\u handler
withstd::
。还包括mmgr.h中的
,以获得大小\u t
。是的,它不漂亮,但它做它所宣传的。我不在“传统”平台上工作,所以我不习惯开箱即用别忘了::运算符新建[]
;-)@弗雷德:噢,我不能吗?如果你想监控进程的内存使用情况,Valgrind是一个不错的选择