Sun Studio 12: dbx コマンドによるデバッグ

境界整列を誤った読み取り (mar) エラー

意味: 適切に境界合わせされていないアドレスからデータを読み取ろうとした。

考えられる原因: ハーフワード、ワード、ダブルワードの境界に合わせられていないアドレスから、それぞれ 2 バイト、4 バイト、8 バイトを読み取った。

例:

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

j = *i;                    /* 境界整列を誤った読み取り (mar) */