1. ホーム
  2. c++

[解決済み] C++のセグメンテーションフォールトの修正

2022-03-09 06:22:56

質問

WindowsとUnixに対応したクロスプラットフォームC++プログラムを書いています。Windows側では、コードは問題なくコンパイルされ実行されます。Unix側では、コンパイルはできるのですが、実行しようとするとセグメンテーションフォールトが発生します。私の直感では、ポインタに問題があるのではないかと思っています。

セグメンテーションフォールトのエラーを発見し、修正するための良い方法論は何でしょうか?

どのように解決するのですか?

  1. でコンパイルします。 -g そうすれば、バイナリファイルにデバッグシンボルが含まれるようになります。

  2. 使用方法 gdb でgdbコンソールを開きます。

  3. 使用方法 file で、コンソールにあるアプリケーションのバイナリファイルを渡します。

  4. 使用方法 run で、アプリケーションが起動するのに必要な引数を渡します。

  5. を発生させるようなことをする。 セグメンテーション・フォールト .

  6. タイプ bt の中に gdb コンソールでスタックトレースを取得し セグメンテーション・フォールト .