gdbでターゲット上の埋め込みアプリケーションをデバッグしようとしました。したがって、ホスト上で実行されているgdbは、デバッグシンボルを持つバイナリ、つまり-gでコンパイルされたバイナリを必要とします。ターゲット上では、バイナリのストリップされたコピーで十分です。ターゲットでは、削除されたコピーの代わりに-gを付けずにコンパイルされたバイナリを使用しようとしましたが、動作しませんでした。gdb:-gなしでコンパイルされたバイナリと-gなしでコンパイルされたバイナリとの比較
GNUストリップは、オブジェクトファイル(-gでコンパイル)からすべてのシンボルを捨てます。だから、-gなしでコンパイルされたバイナリと同じではありませんか?それはなぜ機能しないのですか?
-gは、デフォルトでオンになっている最適化を無効にするため、実行可能ファイルを削除するのと同じではありません。 –
@ n.m。あなたは間違います:GCCの場合、 '-g'フラグは*最適化*に*影響しません*。 –
@EmployedRussianあなたは正しいです、古い悪い多くの独自のunixes日から引き継がれた別の神話でなければなりません。 –