【发布时间】:2014-11-09 00:46:32
【问题描述】:
我想知道,给定任何内存块,例如类的实例或std::vector,我可以推断出哪个函数(可能来自 *alloc 函数族)分配给定的一块内存甚至更好,调用new 或allocator(如果使用)在我的应用程序中创建了可寻址空间。
【问题讨论】:
-
开箱即用是不可能的。您可以创建自己的自定义分配方案来跟踪它。
-
您几乎必须编写分配器,以便它分配一些额外的空间,并在该内存中记录数据以识别分配器(例如,分配器的地址)。
-
@JerryCoffin 并不是说如果没有一些额外的信息,仅仅一个地址会有什么好处。
-
@ddriver “开箱即用”是什么意思?像
gdb这样的东西难道不能做到这一点吗?还是valgrind进行一些逆向工程?
标签: c++ c memory-management