主要メッセージの手引き

セグメント例外

原因

セグメント例外は、通常、プログラミングエラーによって発生します。読み取り専用ファイルシステムを除き、通常、このメッセージはコアダンプを伴います。

対処方法

core(4) ファイルを作成したプログラムを特定するには、file(1) コマンドまたは adb(1) コマンドを実行します。dtmail プログラムによって作成された core ファイルに対して fileadb の各コマンドを実行した場合の出力例を次に示します。


$ file core
core: ELF 32-bit MSB core file SPARC Version 1, from `dtmail'

$ adb core
core file = core -- program `dtmail'
SIGSEGV  11: segmentation violation
^D      (adb プログラムを終了するには Control-d と入力します。)
このプログラムのベンダまたは作成者にデバッグ済みのバージョンを問い合わせてください。

テクニカルノート

プロセスが、保護されているかまたは存在しないメモリー領域へアクセスしようとしたことを示すシグナルを受信しました。セグメント例外の最も一般的な 2 つの原因は、ヌルポインタを用いて関接参照をしようとした、または境界を越える添字で配列を参照したことです。