GCC および GDB を使用したセグメンテーション フォールトのデバッグ
セグメンテーション フォールトは、プログラムがその外部のメモリにアクセスしようとしたときに発生する一般的なランタイム エラーです。割り当てられたアドレス空間。このエラーの原因となっているコード行を正確に特定するのは難しい場合があります。
GCC は障害の場所を直接特定することはできませんが、便利なコンパイル オプション -g を提供します。このフラグによりシンボルのデバッグが有効になり、GNU デバッガー (GDB) を使用してプログラムの実行をトレースできるようになります。
GDB を使用したセグメンテーション フォールトのトレース
gcc program.c -g
$ gdb ./a.out
(gdb) backtrace
注:
セグメンテーション違反によって示されたコード行が必ずしもエラーの根本原因ではないことに留意することが重要です。障害はプログラム内の他の場所で発生し、示された場所に現れた可能性があります。
以上がGCC と GDB はセグメンテーション違反のデバッグにどのように役立ちますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。