Valgrind 在给出分配数量时究竟考虑了什么?
What exactly does Valgrind take in to account when giving the number of allocations?
我目前正在重新编码 C/C++ malloc
函数,仅供 Linux 使用。该练习的挑战之一是使我的功能尽可能接近原始 malloc
。
我通常使用 Valgrind 检查我的 mallocs 是否被正确允许和释放,但我不知道 Valgrind 是否可以选择其他形式的内存分配,如果可以,是哪些?
第二个问题:假设 Valgrind 不选择其他形式的内存分配,我还能使用什么来检查我的函数是否按预期工作?
Valgrind 假定 malloc
按预期工作以管理内存分配。如果您的目标是实现自己的 malloc
实现,则不能使用 Valgrind 对其进行调试。
这是本练习的挑战之一:您必须自己调试它。
如果您想检查您的函数是否按预期工作,请编写一个函数 show_alloc_mem
来转储您的内存并检查是否所有内容都按您的预期显示。
我目前正在重新编码 C/C++ malloc
函数,仅供 Linux 使用。该练习的挑战之一是使我的功能尽可能接近原始 malloc
。
我通常使用 Valgrind 检查我的 mallocs 是否被正确允许和释放,但我不知道 Valgrind 是否可以选择其他形式的内存分配,如果可以,是哪些?
第二个问题:假设 Valgrind 不选择其他形式的内存分配,我还能使用什么来检查我的函数是否按预期工作?
Valgrind 假定 malloc
按预期工作以管理内存分配。如果您的目标是实现自己的 malloc
实现,则不能使用 Valgrind 对其进行调试。
这是本练习的挑战之一:您必须自己调试它。
如果您想检查您的函数是否按预期工作,请编写一个函数 show_alloc_mem
来转储您的内存并检查是否所有内容都按您的预期显示。