1

有内存视图和图形用户界面吗?例如,我想查看我的 C 程序(malloc())在内存中分配的值。也许像 Bless Hex Editor 这样的软件工具,但不是查看二进制文件,而是查看内存映射。我希望这对你来说很清楚。提前致谢。

4

2 回答 2

1

尝试使用调试器,这是查看程序内存的最佳方式。只需在感兴趣的点之前放置一个断点,它就会显示所有本地/全局变量的值。如果您尝试查看正在运行的程序的整个内存,HxD(免费的十六进制编辑器)允许您打开进程的内存(如果您有足够的权限)以进行查看/编辑。如果您尝试分析内存中的模式,作弊引擎也可以工作。

于 2012-04-27T00:18:44.273 回答
0

用于查看所有分配的内存(每个应用程序)。我知道有几种解决方案。

  • 您可以记录每个 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

于 2012-04-29T22:09:17.497 回答