我想要跟踪何时和多少内存分配在我的程序和打印出来的调试目的,在某些情况下!
发布于 2011-02-09 23:39:30
调试内存问题的一个好方法是使用外部监视器(如缬磨 )。这将连接到程序的内存分配和取消分配,并在程序末尾打印一份报告,显示您没有释放的任何分配。使用此方法无需修改或重新编译您的程序。
发布于 2011-02-09 23:36:45
您可以重载新操作符和删除操作符。见这篇文章。
发布于 2011-02-09 23:36:57
如果您正在使用glibc库,您可以使用malloc钩来完成这个任务,这将是一个比重载新/delete更好的方法,前提是您想要捕获程序中的所有分配。如果您只想使用new/delete捕获分配,那么可以重载这些运算符。
顺便说一下,如果您试图检测和调试内存问题,那么使用温研加记忆检查可能会使您受益,而不是滚动您自己的系统。
https://stackoverflow.com/questions/4951815
复制相似问题