有内存视图和图形用户界面吗?例如,我想查看我的 C 程序(malloc()
)在内存中分配的值。也许像 Bless Hex Editor 这样的软件工具,但不是查看二进制文件,而是查看内存映射。我希望这对你来说很清楚。提前致谢。
2 回答
尝试使用调试器,这是查看程序内存的最佳方式。只需在感兴趣的点之前放置一个断点,它就会显示所有本地/全局变量的值。如果您尝试查看正在运行的程序的整个内存,HxD(免费的十六进制编辑器)允许您打开进程的内存(如果您有足够的权限)以进行查看/编辑。如果您尝试分析内存中的模式,作弊引擎也可以工作。
用于查看所有分配的内存(每个应用程序)。我知道有几种解决方案。
您可以记录每个 malloc 和 free 并自己绘制它们。日志可以很容易地实现
mtrace()
(在 Linux 上的 Glibc 中,创建用于查找内存泄漏),请参阅例如我的创新纳米库 mmtrace或只是插入mtrace()
和muntrace()
调用程序。然后你会得到一个格式类似`@[IP] type address size]的文本文件,其中type是+表示malloc,-表示免费,<>表示realloc;大小是可选的。我有一个将此类日志转换为非常大的图像的 perl 绘图员。我认为免费的[Sun Studio] 有这个/我会检查它/
TotalView(也作为 MemoryScope 单独出售)来自 Totalview,现在是 RogueWave。http://www.roguewave.com/products/totalview/memoryscape.aspx