MacでC++をコンパイルすると、常に* .dSYMディレクトリが作成されるのはなぜですか? 無効にする方法はありますか?dSYM MacOSでC++コードをコンパイル中のディレクトリ
23
A
答えて
41
Xcodeプロジェクトが外部のdSYMファイルを使用してデバッグシンボルを作成するように設定されているためです。これは、実際にはリリースビルドに便利です。つまり、アプリからデバッグシンボルを取り除くことができます。また、ユーザーがクラッシュダンプを送信すると、元のdSYMファイルを使用してデバッグ用の適切なスタックトレースを生成できます。
とにかく、は、プロジェクトでデバッグシンボルの生成を無効にする必要がありません。代わりに、デバッグシンボルのタイプをDWARFに変更してください( "DWARF with dSYM File"ではなく)。 Stabsを使用することもできますが、これは古い形式です。
を編集してください。あなたはXcodeからではなく、コマンドラインからのものです。私は私のMac atmの前に座っていませんが、私はgcc4 manpageより、Stabs形式を使うために-gstabsを指定できるよりも見ています。
2
私はXcodeを使用することを前提としています。 「プロジェクト」/「プロジェクト設定の編集」メニュー項目の「ビルド」タブをクリックし、「GCC 4.0 - コード生成」セクションで、「デバッグシンボルの生成」のチェックを外します。検索フィールドに「sym」と入力すると、検索に役立ちます。
こんにちは、どのようにデバッグシンボルを変更しますか?そのためのコマンドラインはありますか? – neversaint
興味深い疑問点:MacOS 10.6.2では、 'link'行にソースファイルを含めると、dsymutilプログラムが実行されて.dSYM情報が生成されます。オブジェクトファイルとライブラリのみをリンクすると、dsymutilプログラムは実行されず、.dSYM情報は生成されません。 'gcc'によって実行されるプログラムを示すGCCの '-v'オプションでこれを検証することができます。 –
-gdbを使用することもできます。これは、gdbでデバッグする予定の場合、スタブより多くの機能を有効にすると思います。 – Quantum7