我是一名c程序员,并且是c++的新手。在c语言中,我们具有mtrace()函数来跟踪有关分配和释放内存的信息。
有没有类似的功能可以做到这一点,但在C++中。
最佳答案
mtrace
不是“在C中”;它是GLIBC提供的实用程序,具有C绑定(bind)。
如果您可能仍在使用GLIBC和C++应用程序,则仍可以使用mtrace
(除非您有一些不使用malloc
/ free
的自定义分配器,但这对于任何检漏仪来说都是一个问题) 。
但是,Valgrind更适合此任务。它具有更多的功能并不断发展。例如, mtrace
only works on single-threaded programs。 mtrace
在提供给您的信息方面也受到限制,而Valgrind(与某些其他工具结合使用)can be a real force of nature。
关于c++ - 有没有与c++中的glibc mtrace()函数类似的函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59520492/