跟踪c / c ++数据结构大小

时间:2015-11-06 23:54:20

标签: c++ c memory-management dynamic-memory-allocation

我正在尝试找到一个工具,可以向我显示有关程序中所有数据结构的信息。我想知道何时访问某些数据结构以及在整个程序过程中它们的大小如何变化。例如,我希望工具知道链表中的所有节点都属于一个单一的数据结构。这样的工具是否存在?我似乎无法通过谷歌搜索找到一个。感谢

2 个答案:

答案 0 :(得分:0)

某些工具链,例如Xcode的工具链,提供调试功能,使您可以跟踪内存使用情况,CPU时间和网络使用情况。如果在程序中设置断点,则可以实现内存中的跟踪数据结构。没有断点,它不太可能跟踪数据结构的变化,因为CPU通常运行得非常快。你需要的是一个带有调试,分析......的好IDE。

答案 1 :(得分:0)

我的第一个问题是:你的编译器是什么?有人提到gdb是一个有用的工具,但只有你使用gcc / g ++时才会这样。 Xcode有自己的编译器/调试器。 MicroSoft也有它自己的。

最终,这是关于如何为编译器使用调试器。此外,要意识到正确使用适用于您的编译器的调试器可能与学习如何使用编译器一样令人生畏。

还有可用的分析器,但同样,它在某种程度上取决于您的编译器可用的哪些。您使用Google搜索的关键字将是" C ++","调试器"和" profiler",最好是与编译器的名称一起使用。

同样请注意,当程序针对相同数据运行时,编译器可能会影响统计信息。