在C ++中,我如何告诉WHICH代码正在分配什么类型的对象?

Badmanchild

注意:我在OSX / Yosemite上,所以Valgrind当前不可用。DTrace是,但是没有可用的libc:malloc挂钩。

问题陈述:

我有一个使用过多内存的C ++程序,我需要知道罪魁祸首是谁。请注意,它没有内存泄漏,只是使用了过多的内存。在内存使用方面,我需要知道:

世卫组织:很高兴知道谁在分配内存(源文件,行号)。

内容:知道要分配的内容(类名)会很高兴。

我可以编写自己的malloc / calloc / realloc并自行解决,但我想看看是否有任何工具可以首先执行此操作。

子弹头磁铁

您可以尝试dmalloc(http://dmalloc.com

从源代码构建,链接到您的程序,然后使用http://dmalloc.com/docs/latest/online/dmalloc_13.html中的实用程序功能

(免责声明:我不使用OSX,因此以上操作可能无效)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

谁能告诉我这段代码在C#中到底意味着什么?

C中“没有声明类型的已分配对象”的C ++等效项是什么?

我如何“告诉” C编译器不应优化代码?

我如何在C ++中更改对象的值类型

C ++,Shared_ptr,请告诉我为什么我的代码给出错误?

谁能告诉我为什么我在此C代码中出现分段错误?

请告诉我为什么 c 代码的行为方式如此详细?

找出我的C#代码正在调用的SQL正在运行什么进程

我有一个对象列表,但找不到整理代码的方法。我正在尝试在 C# 中的特定索引处更新对象

谁能告诉我为什么我的代码将我的 Z 数组返回为 0?(CUDA C)

为什么在C ++中,分配的对象的地址不变?

我可以告诉C ++编译器本身如何进行任意类型转换吗?

union正在做什么以帮助将字节数组转换为其他类型,例如此c ++代码中的单词?

C#对象类型-分配的原子性

什么是C ++中的对象?

如何分配将在 C# 中确定运行的对象

C ++中的对象创建类型之间有什么区别?

我目前正在使用什么C ++规范?

尝试将对象分配给C ++中不同类型的对象

为什么C#允许将匿名对象分配给类类型的类字段?

如何告诉 TypeScript 我的对象的类型?

为什么断点会在我的C ++代码中跳转?

我在写的这个 C 代码中做错了什么

在此C ++代码中我在做什么错?

我在C ++中的代码有什么问题?

为什么在我的简单 C++ 代码输出中是 -1717986920?

为什么在我的 c 代码中打印 (null)?

c中的分段错误。谁能告诉我如何解决它?

[Objective-C ++]为什么允许在64位而不是32位中将对象分配给BOOL类型变量