我是一名c程序员,并且是c++的新手。在c语言中,我们具有mtrace()函数来跟踪有关分配和释放内存的信息。
有没有类似的功能可以做到这一点,但在C++中。

最佳答案

mtrace不是“在C中”;它是GLIBC提供的实用程序,具有C绑定(bind)。

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

但是,Valgrind更适合此任务。它具有更多的功能并不断发展。例如, mtrace only works on single-threaded programsmtrace在提供给您的信息方面也受到限制,而Valgrind(与某些其他工具结合使用)can be a real force of nature

关于c++ - 有没有与c++中的glibc mtrace()函数类似的函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59520492/

10-10 05:01