質問

DWARF is a debugging information format. The .dSYM file generated by Xcode contain the DWARF debugging information.

The Question is : how to decode the .dSYM file to get the human-readable DWARF information, which should like below.

enter image description here

役に立ちましたか?

解決

On Mac OS X, you use the dwarfdump utility to dump the DWARF in .o files or in .dSYM bundles.

% dwarfdump fig7.o
----------------------------------------------------------------------
 File: fig7.o (x86_64)
----------------------------------------------------------------------
.debug_info contents:

0x00000000: Compile Unit: length = 0x00000077  version = 0x0002  abbr_offset = 0x00000000  addr_size = 0x08  (next CU at 0x0000007b)

0x0000000b: TAG_compile_unit [1] *
             AT_producer( "Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)" )
             AT_language( DW_LANG_C99 )
             AT_name( "fig7.c" )
             AT_low_pc( 0x0000000000000000 )
             AT_stmt_list( 0x00000000 )
             AT_comp_dir( "/tmp" )

0x00000026:     TAG_base_type [2]  
                 AT_name( "int" )
                 AT_encoding( DW_ATE_signed )
                 AT_byte_size( 0x04 )

0x0000002d:     TAG_variable [3]  
                 AT_name( "a" )
                 AT_type( {0x00000026} ( int ) )
                 AT_external( 0x01 )
                 AT_decl_file( "/private/tmp/fig7.c" )
                 AT_decl_line( 1 )
                 AT_location( [0x0000000000000000] )

0x00000043:     TAG_subprogram [4] *
                 AT_name( "foo" )
                 AT_decl_file( "/private/tmp/fig7.c" )
                 AT_decl_line( 2 )
                 AT_external( 0x01 )
                 AT_low_pc( 0x0000000000000000 )
                 AT_high_pc( 0x0000000000000006 )
                 AT_frame_base( rbp )

0x0000005d:         TAG_variable [5]  
                     AT_name( "b" )
                     AT_decl_file( "/private/tmp/fig7.c" )
                     AT_decl_line( 4 )
                     AT_type( {0x00000026} ( int ) )
                     AT_location( fbreg -4 )

0x0000006b:         TAG_variable [5]  
                     AT_name( "c" )
                     AT_decl_file( "/private/tmp/fig7.c" )
                     AT_decl_line( 5 )
                     AT_type( {0x00000026} ( int ) )
                     AT_location( fbreg -8 )

0x00000079:         NULL

0x0000007a:     NULL
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top