Sun Studio 12:使用 dbx 调试程序

未对齐读 (mar) 错误

问题:尝试从未正确对齐的地址中读取数据。

可能的原因:分别从那些没有半字对齐、字对齐或双字对齐的地址中读取 2 个、4 个或 8 个字节。

示例:

char *s = “hello world”;
int *i = (int *)&s[1];
int j;

j = *i;                    /* Misaligned read (mar) */