unaligned access トラップをオンにすると、unaligned access から SIGBUS を取得できますが、通常は x86 ではオフになっています。また、何らかのエラーが発生した場合、メモリ マップされたデバイスにアクセスすることで取得することもできます。
最善の策は、デバッガーを使用して障害のある命令 (SIGBUS は同期) を特定し、それが何をしようとしているのかを確認することです。
SIGBUS
Linux では、メモリ アラインメント エラー以外の多くの理由で発生する可能性があります。たとえば、mmap
にアクセスしようとした場合などです。 マップされたファイルの末尾を超える領域。
mmap
のようなものを使用していますか? 、共有メモリ領域など?