私は Windows と Unix 用のクロスプラットフォーム C++ プログラムを作成しています。Windows 側では、コードは問題なくコンパイルされ、実行されます。Unix 側では、コンパイルはされますが、実行しようとするとセグメンテーション エラーが発生します。私の最初の直感は、ポインターに問題があるということです。
セグメンテーション違反エラーを見つけて修正するための良い方法は何ですか?
ベストアンサー1
アプリケーションを でコンパイルする
-g
と、バイナリ ファイルにデバッグ シンボルが含まれます。gdb
gdb コンソールを開くために使用します。file
コンソールでアプリケーションのバイナリ ファイルを使用して渡します。run
アプリケーションの起動に必要な引数をすべて使用して渡します。何かを引き起こすセグメンテーション違反。
bt
コンソールに入力してgdb
スタックトレースを取得します。セグメンテーション違反。