如何检查程序中的所有内存访问是否对齐? valgrind无法检查它。还有其他工具吗?我可以在vm中运行软件并在其中安装检查器吗?
背景:我有一个很大的程序,我知道内存访问没有对齐。我试图找到所有的人。我的主要问题是,如果内存访问未对齐,将运行此软件的硬件将生成硬件异常。
答案 0 :(得分:0)
几个月后,我找到了两种解决方案。
启用x86 / 64的对齐检查(更多信息,请参见此处https://stackoverflow.com/a/17748435/3748215)。但是要小心,stdlib充满了x86上未更改的mem访问。
交叉编译为mips64并使用qemu-mips64进行调试。