デバッグ モードでビルドしている静的ライブラリがありますが、そのライブラリにステップ インすると、まだ逆アセンブリが発生します。nm または別のツールを使用して、デバッグ シンボルが削除されないようにする方法を知りたいです。
質問する
18742 次
4 に答える
24
nm
のオプション--debug-syms
を使用nm
して、ライブラリにパックされたオブジェクトのデバッガ シンボル (存在する場合) もリストすることができます。
デバッガー シンボルの場合、2 番目の列は を示しますN
。
例 (オブジェクト example.o がライブラリにあると仮定)
nm --debug-syms libexample.a
出力 (抜粋):
example.o:
0000000000000000 b .bss
0000000000000000 n .comment
0000000000000000 d .data
0000000000000000 N .debug_abbrev
0000000000000000 N .debug_aranges
0000000000000000 N .debug_info
0000000000000000 N .debug_line
0000000000000000 N .debug_loc
0000000000000000 N .debug_pubnames
0000000000000000 N .debug_str
0000000000000000 r .eh_frame
0000000000000000 n .note.GNU-stack
0000000000000000 r .rodata
0000000000000000 t .text
...
詳細については、 を参照してくださいman nm
。
于 2012-12-20T07:37:02.990 に答える
3
strip -S libXX.a
静的ライブラリのサイズが縮小されたかどうかを確認するために使用できます。デバッグ シンボルが含まれていない場合、スタティック ライブラリのサイズは変わりません。
Mac OS で動作し、Xcode によって生成されたスタティック ライブラリをチェックします。
于 2016-01-07T03:32:49.333 に答える
0
お使いの OS 用のDependencywalkerをダウンロードします
dll にデバッグ シンボルがあるかどうかを検出します。「シンボル」の下に「無効」と表示されている場合は、デバッグ シンボルが取り除かれていることを意味します。有効な値は、PDB、CV、DBG などです。
于 2012-12-20T06:00:48.190 に答える