1

なぜソフトウェアは関連するデバッグシンボルとともに展開されるのだろうか。長所と短所は何ですか?問題(情報セキュリティ関連の問題)を明らかにするコードはありますか?

4

1 に答える 1

2

デバッグ情報の有無にかかわらずコンパイルできます。または、UNIXシステムではstrip、コンパイルされた実行可能ファイルからデバッグ情報を削除するために実行できます。

デバッグ情報が不足すると、次のようになります。

  • バイナリサイズを縮小します。すべてのデバッグ情報を削除すると、ファイルサイズが50%減少する可能性があります
  • より多くのコンパイラ最適化を有効にします。まだデバッグ情報を追加している場合、一部のコンパイラ最適化は実際には機能しません。
  • デバッグを難しくします。
    • 通常、競合他社やハッカーが製品を簡単に分解できるようにしたくはありません。
    • ただし、コアファイルは開発者にとってあまり役に立ちません。

したがって、一般的な開発では、デバッグ情報が必要ですが、QAおよびリリースでは、通常、デバッグ情報を省略します。信頼できる顧客にライブラリを提供すると、ライブラリをそのままにしておく傾向が強くなる可能性があります。

于 2010-03-12T22:11:57.953 に答える