有没有与 c++ 中的 glibc mtrace() 函数类似的函数?

Is there any similar function to glibc mtrace() function in c++?

本文关键字:函数 c++ 中的 glibc mtrace 有没有      更新时间:2023-10-16

我是一名c程序员,我是c++的新手。在 c 中,我们有 mtrace(( 函数来跟踪有关分配和释放内存的信息。 是否有任何类似的函数可以做到这一点,但在 c++ 中。

mtrace不是"在C中";它是GLIBC提供的实用程序,具有C绑定。

如果您仍在将 GLIBC 与 C++ 应用程序一起使用,您可能是,您仍然可以使用mtrace(除非您有一些不使用malloc/free的自定义分配器,但这对任何检漏仪来说都是一个问题(。

但是,瓦尔格林德更适合这项任务。它的功能更加丰富和进化。例如,mtrace仅适用于单线程程序。mtrace能给你的信息也很有限,而瓦尔格林德(与其他一些工具相结合(可以成为真正的自然力量。

mtrace(( 也适用于C++,但对于C++,它几乎总是返回代码中调用newdelete的地址,例如没有来自堆栈的更多信息,这使得轻松识别问题的能力有限。

C++内存管理只是C之上的一堆语言功能.
我不是valgrind的粉丝,它太慢了。
我会推荐峨山。它内置于GCC/Clang中,并且有很多选择可以使用。