g ++コンパイラを使用してコードをコンパイルしていますが、メインメソッドが返ってからセグメンテーションフォールトに到達しています。私はGDBが次の形式でスタック上の各フレームを返すので、何が起こっているのかを知ることができません:#0 0x00007ffff7007478 in ?? ()。GDBにセグメンテーションフォルトデータが表示されない
フレーム#5は0x0000000000000000です。 ()と私はそれが0番地にあるということが面白いと思っています、それは特に何かを意味しますか?
私はGDBを更新しましたし、私のgがフラグをコンパイル++は、以下のとおりです。-std = C++ 11 -g -O0 -ggdb
任意のアイデア?もっと必要なものがあれば教えてください。ありがとう!
これは、コードにバグがあることを意味します。 [mcve]がなければ、それ以上の答えは不可能です。 –
多くの場合、0x0スタックフレームはスタック上書きまたはヌル関数ポインタへの呼び出しを示します –
'-ggdb'は' -g'を意味します。 '-fsanitize = address'でコンパイルしたり、valgrindの下でプログラムを実行したりすることをお勧めします。 – kfsone