是否存在类似于 CUDA 可视化分析器的调试应用程序? 它在函数级别以执行时间显示有关应用程序的信息。 是否有常规 C/C++ 应用程序的内容,以便我可以看到哪些函数占用的时间和内存最多?
我正在尝试调试一个应用程序,该应用程序读取大量数据文件并使用自定义类读取文件并将其在内部表示为向量向量。 我还有另一个类,它表示对数据文件中的数据执行的操作。 当我循环读取越来越多的文件并对其进行操作时,内存使用量只会增加,直到操作系统杀死应用程序。 我一直很擅长清理使用动态内存。 一些视觉的东西可以帮助我浏览所有文件和功能,看看哪个使用最多的时间和内存将是非常有益的!
我能够在我的应用程序中使用 libproc 来确认每次循环迭代时,内存使用量从很酷的 ~500 megs 增加到惊人的 19 GB。 这不应该是因为数据的范围在循环内,所以在循环的下一次迭代中,使用数据的C++对象应该已被清除并返回到操作系统,但这并没有发生。
我希望这不会太模糊,谢谢!
在 SO 上搜索"c++ 内存泄漏"。例如,请参阅:Windows 下C++的内存泄漏工具
我猜人们会将其作为副本关闭。