【问题标题】:check if memory access is aligned检查内存访问是否对齐
【发布时间】:2018-07-13 08:58:21
【问题描述】:

如何检查程序中的所有内存访问是否对齐? valgrind 无法检查它。还有其他工具吗?我可以在 vm 中运行该软件并在那里有一个检查器吗?

背景:我有一个大程序,我知道存在未对齐的 mem 访问。我试图找到所有这些。我的主要问题是,如果内存访问未对齐,运行此软件的硬件将产生硬件异常。

【问题讨论】:

    标签: exception memory runtime valgrind


    【解决方案1】:

    几个月后,我找到了两个解决方案。

    1. 为 x86/64 启用对齐检查(更多信息请参见此处https://stackoverflow.com/a/17748435/3748215)。但要小心,stdlib 充满了 x86 上的 unalinged mem 访问。

    2. 交叉编译到 mips64 并使用 qemu-mips64 进行调试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-30
      • 2011-09-08
      • 1970-01-01
      • 2010-11-07
      • 2011-02-28
      • 2013-10-21
      • 2021-12-15
      相关资源
      最近更新 更多