dbx コマンドによるデバッグ

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

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

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

例 :


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

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