Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

DSTDUMP(1)  —  Commands

dstdump − dump a COFF file’s debugging information to stdout usage:  dstdump [-mbslu] pathname

 

NAME

dstdump − dump a COFF file’s debugging information to stdout

SYNOPSIS

dstdump [-mbslu] pathname

DESCRIPTION

The dstdump command dumps the debug symbol information from the COFF file pathname to the standard output device.  This information includes the maker records in the .mir section, block records in .blocks, symbol records in .symbols, line number table in .lines, and unwind information in .unwind.  By default, dstdump displays all records, organized by section and listed sequentially.  If you use any of the following command line options, however, dstdump displays information from the specified sections only: -m          .mir (maker information) -b          .blocks (compilation-unit and block information) -s          .symbols (constant, type and variable information) -l          .lines (line number tables) -u          .unwind (unwind records) The records that dstdump displays are defined in /usr/dde/include/mir.h (mir records), /usr/dde/include/unwind.h (unwind records), and /usr/dde/include/dst.h (all others). 

EXAMPLES

 Display the maker information from y.bin. 
 
 $ dstdump -m y.bin
 
 -------------------------------------------
 SECTION ".mir": 28 (0x1C) bytes
 -------------------------------------------
 Pascal compiler 68K=>PRISM Rev 8.6, Date: Tue Dec 13 21:26:40 1988
 
 
 Display the block and symbol information from y.bin. 
 
 $ dstdump -bs y.bin
 
 -------------------------------------------
 SECTION ".blocks": 150 (0x96) bytes
 -------------------------------------------
 
 0x000318> (size 26) type 1: COMP_UNIT
     version            = (1, 3)
     flags              = { pc_based_locs }
     lang_type          = Pascal
     number_of_blocks   = 1
     root_block_offset  = 0x0022 -> 0x33a
     section_table      = 0x0054 -> 0x36c
     file_table         = 0x0088 -> 0x3a0
     data_size          = 0x0094 -> 0x3ac
 
 0x000332> (size 8) type 28: GLOBAL_NAME_TAB
     total length  = 2
         "x"
 
 0x00033a> (size 40) type 4: BLOCK
 { has_aux_recs }
     block_type        = program
     flags             = { }
     sibling_block     = 0 (nil)
     child_block       = 0 (nil)
     noffset           = -0x0002 -> 0x338 "x"
     symbols_start     = [3, 0x0000000e] -> 0x00000296
     n_of_code_ranges  = 1
     code_ranges:
         code_size     = 136 (0x88)
         code_start    = [4, 0x00000000]
         lines_start   = [1, 0x00000000] -> 0x00000270
 
 0x000362> (size 10) type 51: AUX_SRC_RANGE
     first_line = (file 1, line 1)
     last_line  = (file 1, line 17)
 
 0x00036c> (size 24) type 2: SECTION_TAB
     index  base address  section
        1       100058     5: .lines
        2        80230     2: .unwind
        3       100070     6: .symbols
        4        801a8     1: .text
        5       100020     3: .data
 
 0x000384> (size 28) type 27: STRING_TAB
     total length  = 21
         "//anode/my_dir/x.pas"
 
 0x0003a0> (size 12) type 3: FILE_TAB
     number_of_files = 1
     files (dtm  name_offset):
         1988/12/14 19:22:38-0x0016 -> 0x38a "//anode/my_dir/x.pas"
 
 0x0003ac> (size 2) type 0: PAD
 
 -------------------------------------------
 SECTION ".symbols": 140 (0x8c) bytes
 -------------------------------------------
 
 0x000288> (size 14) type 27: STRING_TAB
     total length  = 8
         "d"
         "e"
         "f"
         "x"
 
 0x000296> (size 20) type 46: VARIABLE
     noffset     = -0x0004 -> 0x292 "f"
     loffset     = 0x0064 -> 0x2ec  [sect(6) - 28]
     src_loc     = (file 1, line 7)
     type_desc   = real32
     attributes  = { }
 
 0x0002aa> (size 20) type 46: VARIABLE
     noffset     = -0x001a -> 0x290 "e"
     loffset     = 0x0055 -> 0x2f1
         location in (0154, 02a8):  .12
     src_loc     = (file 1, line 6)
     type_desc   = int32
     attributes  = { }
 
 0x0002be> (size 20) type 46: VARIABLE
     noffset     = -0x0030 -> 0x28e "d"
     loffset     = 0x0048 -> 0x2f8
         location in (0120, 0240):  .0
     src_loc     = (file 1, line 6)
     type_desc   = int32
     attributes  = { }
 
 0x0002d2> (size 20) type 48: ENTRY
     noffset          = -0x003e -> 0x294 "x"
     loffset          = 0x003a -> 0x2fe  sect(6) - 24
     src_loc          = (file 1, line 1)
     sig_desc         = 0 (nil)
     entry_number     = 0
 
 0x0002e6> (size 30) type 45: LOCPOOL
     total length = 24
              2ec:  25 69 1c 0e
              2f1:  80 28 88 44 6d 0c
              2f8:  80 28 88 0c 10
              2fe:  25 69 18
 
 
 
 
 
 
 

  —  domain

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026