[解決済み] GCC -g vs -g3 GDBフラグ。その違いとは?
質問
C言語のソースコードをgccやClangでコンパイルするとき、私は常に
-g
フラグを使用して、gdb 用のデバッグ情報を生成します。
gcc -g -o helloworld helloworld.c
私は、ある人々が
-g3
を代わりに使う人もいるようです。の違いは何ですか?
-g
と
-g3
のフラグはどうなっていますか?また
-g
と
-ggdb
?
どのように解決するのですか?
からの ドキュメント :
-g
オペレーティングシステムのネイティブフォーマット(stabs、COFF、XCOFF、またはDWARF 2)でデバッグ情報を生成します。GDB はこのデバッグ情報を使って作業することができます。 デバッグ情報を使用できます。stabs フォーマットを使用するほとんどのシステムで、-g を使用すると、GDB だけが使用できる特別なデバッグ情報を使用できます。 この余分な情報は、GDB でのデバッグの動作を向上させますが、おそらく他のデバッガーをクラッシュさせたり、拒否したりします。 この余分な情報は、GDB でのデバッグ作業を向上させますが、他のデバッガーをクラッシュさせたり、プログラムの読み取りを拒否させたりする可能性があります。もしあなたが を使用すると、余分な情報を生成するかどうかを確実に制御できます。 -gstabs+、-gstabs、-gxcoff+、-gxcoff、または-gvms (下記参照) を使用してください。
...
<ブロッククオート
-メガバンク
GDB で使用するためのデバッグ情報を生成します。これは、利用可能な最も表現力の高い形式 (DWARF 2、stabs、またはそれらがサポートされていない場合はネイティブ形式) を使用することを意味します。 を使用し、可能であれば GDB 拡張も使用します。 可能であればGDB拡張も含む。
-gvmslevel(レベル
デバッグ情報を要求し、さらにlevelで情報の量を指定します。デフォルトのレベルは 2 で、レベル 0 はデバッグ情報をまったく生成しません。 デバッグ情報を全く生成しません。したがって、-g0は-gを否定する。
....
レベル 3 には、プログラムに存在するすべてのマクロ定義などの追加情報が含まれます。 などの追加情報が含まれます。一部のデバッガでは、-g3 を使用した場合のマクロ展開をサポートしています。 を使用した場合のマクロ展開をサポートするデバッガもあります。
関連
-
構造体の配列--[エラー] '['トークンの前に一次式があることが予想される
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] なぜGCCはa*a*a*a*aを(a*a*a)*(a*a*a)に最適化しないのでしょうか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] C++でextern "C "を使用した場合の効果は?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み] C言語でランダムなint型を生成するには?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】CMakeでGCCとClang/LLVMの切り替えを行う。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決済み] g++ コンパイルエラー: ')'トークンの前に一次式があることが予想される
-
g++が内部・外部コマンドソリューションとして認識されない、MinGWを初めて使うときの落とし穴
-
ポインタ定数および定数ポインタ
-
initializer element is not constant "というエラーが表示されるのですが?
-
[解決済み] Linuxカーネルにおけるcontainer_ofマクロの理解
-
[解決済み] C言語の**はどういう意味ですか?
-
[解決済み] C言語でのブーリアン値の使用
-
[解決済み] while ( !feof (file) ) 」は、なぜいつも間違っているのですか?
-
[解決済み] printfは、フォーマット文字列の中に改行がないと、呼び出し後にフラッシュしないのはなぜですか?
-
[解決済み] なぜC言語では構造体を頻繁にtypedefする必要があるのですか?