home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c082_122 / 6.ddi / DOC.ZIP / UTILS.TD < prev    next >
Encoding:
Text File  |  1992-06-10  |  27.6 KB  |  740 lines

  1. /*************************************************************************/
  2.                       TURBO DEBUGGER UTILITIES REFERENCE
  3.  
  4. This file contains information about the following Turbo Debugger utilities:
  5.  
  6. 1.  TDRF
  7. 2.  TDSTRIP
  8. 3.  TDMAP
  9. 4.  TDUMP
  10. 5.  TDNMI
  11. 6.  TDMEM
  12. 7.  TDDEV
  13.  
  14. For convenience, when searching for information about a particular utility,
  15. you can search for the name of the utility followed by a colon (i.e. TDUMP:).
  16. Doing so will take you directly to the header for the utility specified.
  17.  
  18. For a list of all the command-line options available for TDRF.EXE, 
  19. TDSTRIP.EXE, TDMAP.EXE, and TDUMP.EXE, just type the program  name and
  20. press Enter. For example, to see the command-line options for TDMAP.EXE, 
  21. you enter
  22.  
  23.    TDMAP
  24.  
  25. For a list of all the command-line options available for TDNMI.COM, 
  26. TDDEV.EXE, and TDMEM.EXE, enter the program name followed by -?.
  27. TDNMI also accepts -h. For example,
  28.  
  29.    TDDEV -?
  30.  
  31.  
  32. 1. TDRF: Utility for remote file commands and file transfer
  33. ===========================================================================
  34. The remote file transfer utility (TDRF) works in conjunction with TDREMOTE
  35. or WREMOTE running on another system.  (For more information on TDREMOTE and
  36. WREMOTE, see Appendix E, "Remote Debugging," in the "Turbo Debugger User's 
  37. Guide"). With TDRF you can perform most DOS file maintenance operations on 
  38. the remote system. You can
  39.  
  40.   o copy files to the remote system
  41.   o copy files from the remote system
  42.   o make directories
  43.   o remove directories
  44.   o display directories
  45.   o change directories
  46.   o rename files
  47.   o delete files
  48.  
  49. Once you have started TDREMOTE or WREMOTE on the remote system, you can
  50. use TDRF at any time. You can start it directly from the DOS prompt, or
  51. you can access DOS from inside Turbo Debugger by using the File|DOS
  52. Shell command, then start TDRF (even while debugging a program on the
  53. remote system). This second method is useful if you've forgotten to put
  54. some files on the remote system that are required by the program you're
  55. debugging.
  56.  
  57. When describing TDRF in the following sections, we refer to the system
  58. you're typing at as the "local system" and any files there as "local
  59. files," and the other system connected by a serial cable or network as 
  60. the "remote system" and any files there as "remote files."
  61.  
  62.  
  63. Starting TDRF from the DOS command line
  64. ---------------------------------------
  65. The general form of the command line for TDRF is
  66.  
  67.    TDRF [<options>] <command> [<arguments>]
  68.  
  69. The <options> control whether the link is network or serial, and if it's
  70. serial, the speed of the remote link and which port it runs on. The
  71. options are described in more detail in the next section.
  72.  
  73. <command> indicates the operation you want to perform. You can type the 
  74. command either as a DOS command--like COPY, DEL, MD, and so on--or as 
  75. a single-letter abbreviation.
  76.  
  77. <arguments> are any arguments to the command.
  78.  
  79. For example, to get a directory display of all files starting with ABC
  80. in the current directory on the remote system, you could type:
  81.  
  82.    TDRF DIR ABC*
  83.  
  84. All the commands are described fully after the next section.
  85.  
  86.  
  87. TDRF command-line options
  88. -------------------------
  89. You must start an option with either a hyphen (-) or a slash (/).
  90. The following list shows the command-line options for TDRF:
  91.  
  92. -rn<L>;<R>  Sets the link to network, the local name to <L>, and the remote
  93.             name to <R>.
  94.  
  95.   If you link over the network, the name of the local machine defaults to
  96.   "LOCAL" and the remote machine to "REMOTE". You can set your own name for
  97.   the machines by entering a name up to 16 characters long for either the
  98.   local machine, the remote machine, or both.
  99.  
  100.   You must be running TDREMOTE or WREMOTE with the -rn option on the remote
  101.   machine with the local machine name set to the same name as you've indicated
  102.   in the TDRF command.
  103.  
  104. -rsN        Sets the type of remote link to serial and the speed of the link.
  105.  
  106.   The -rs option sets the speed at which the remote serial link operates. 
  107.   You must make sure you use the same speed with TDRF that you specified
  108.   when you started TDREMOTE or WREMOTE on the remote system. N can be 1, 2,
  109.   3, or 4, where 1 signifies a speed of 9600 baud, 2 signifies 19,200 baud, 
  110.   3 signifies 38,400 baud, and 4 signifies 115,000 baud.
  111.  
  112.   In other words, the higher the number, the faster the data transfer
  113.   rate across the serial link. Normally, TDRF defaults to -rs4 (the highest
  114.   speed).
  115.  
  116. -rpN        Sets the remote serial link port.
  117.  
  118.   The -rp option specifies which port to use for the remote serial link.
  119.   N can be either 1 or 2, where 1 stands for COM1 and 2 stands for COM2.
  120.  
  121. -w          Writes options to the TDRF executable program file.
  122.  
  123.   You can make the TDRF command-line options permanent by writing them
  124.   back into the TDRF executable program image on disk. Do this by
  125.   specifying the -w command-line option along with the other options you
  126.   wish to make permanent. You will then be prompted for the name of the
  127.   executable program.
  128.  
  129.   If you're running on DOS 3.0 or later, the prompt will indicate the
  130.   path and file name that you executed TDRF from. You can accept this
  131.   name by pressing Enter, or you can enter a new executable file name.
  132.   The new name must already exist and must be a copy of the TDRF program 
  133.   that you've already made.
  134.  
  135.   If you're running on DOS 2.x, you'll have to supply the full path
  136.   and file name of the executable program.
  137.  
  138.   If you enter the name of an executable file that doesn't exist (a new
  139.   filename), TDRF will create a new executable file.
  140.  
  141.  
  142. TDRF commands
  143. -------------
  144. Following are the command names you can use with the TDRF utility. You
  145. can use the wildcards * and ? with the COPY, COPYFROM, DEL, and DIR
  146. commands.
  147.  
  148.  
  149. COPY
  150.  
  151.   Copies files from the local system to the remote system. You can also
  152.   type COPYTO instead of COPY. The single letter abbreviation for this
  153.   command is T.
  154.  
  155.   If you supply a single file name after the COPY command, that file
  156.   name will be copied to the current directory on the remote system. If
  157.   you supply a second file name after the name of the file on the local
  158.   system, the local file will be copied to that destination on the
  159.   remote system. You can specify either a new file name, a directory
  160.   name, or a drive name on the remote system. For example,
  161.  
  162.      TDRF COPY TEST1 \MYDIR
  163.     
  164.   copies file TEST1 from the local system to file MYDIR\TEST1 on the
  165.   remote system.
  166.  
  167.  
  168. COPYFROM
  169.  
  170.   Copies files from the remote system to the local system. The single
  171.   letter abbreviation for this command is F.
  172.   
  173.   If you supply a single file name after the COPYFROM command, that file
  174.   name will be copied from the current directory on the remote system to
  175.   the current directory on the local system. If you supply a second file
  176.   name after the name of the file on the remote system, the remote file
  177.   will be copied to that destination on the local system. You can
  178.   specify either a new file name, a directory name, or a drive name on
  179.   the local system. For example,
  180.  
  181.      TDRF COPYFROM MYFILE ..
  182.  
  183.   copies file MYFILE from the remote system to the parent directory of
  184.   the current directory on the local system.
  185.  
  186.      TDRF F TC*.* A:\TCDEMO
  187.   
  188.   copies all files beginning with TC on the current directory of the
  189.   remote system to the TCDEMO directory on the local system's drive A.
  190.   
  191.  
  192. DEL
  193.  
  194.   Erases a single file from the remote system. The single letter
  195.   abbreviation for this command is E.
  196.  
  197.   If you just give a file name with no directory or drive, the file is
  198.   deleted from the current directory on the remote system. For example,
  199.   
  200.      TDRF DEL XYZ
  201.   
  202.   removes file XYZ from the current directory of the remote system.
  203.   
  204.  
  205. DIR
  206.  
  207.   Displays a listing of the files in a directory on the remote system.
  208.   The single letter abbreviation for this command is D.
  209.   
  210.   This command behaves similarly to the equivalent DOS command. If
  211.   you don't specify a wildcard mask, it shows all the files in the
  212.   directory; if you do specify a mask, only those files will be listed.
  213.   You can interrupt the directory display at any time by pressing
  214.   Ctrl-Break.
  215.   
  216.   The directory listing is displayed in a format similar to that
  217.   used by the DOS DIR command. For example,
  218.   
  219.      TDRF DIR \SYS\*.SYS
  220.   
  221.   results in a display like the following:
  222.   
  223.   Directory of C:\SYS
  224.  
  225.   ANSI         SYS     4833  8-23-91  6:00a
  226.   VDISK        SYS     5190  8-23-91  6:00a
  227.   
  228.   
  229. REN
  230.  
  231.   Renames a single file on the remote system. The single letter
  232.   abbreviation for this command is R.
  233.   
  234.   You must supply two file names with this command: the original file
  235.   name and the new file name. The new name can specify a different
  236.   directory as part of the name, but not a different drive. For example,
  237.   
  238.      TDRF REN TEST1 \TEST2
  239.   
  240.   renames file TEST1 in the current directory in the remote to TEST2 in
  241.   the root directory. This effectively "moves" the file from one
  242.   directory to another. You can also use this command to simply rename a
  243.   file within a directory, without moving it to another directory.
  244.   
  245.   
  246. MD
  247.  
  248.   Makes a new directory on the remote system. The single letter
  249.   abbreviation for this command is M.
  250.   
  251.   You must supply the name of the directory to be created. If you don't
  252.   supply a directory path as part of the new directory name, the new
  253.   directory will be created in the current directory on the remote
  254.   system. For example,
  255.   
  256.      TDRF MD TEST
  257.   
  258.   creates a directory named TEST in the current directory on the remote
  259.   system.
  260.   
  261.  
  262. RD
  263.  
  264.   Removes an existing directory on the remote system. The single letter
  265.   abbreviation for this command is K.
  266.   
  267.   You must supply the name of the directory to be removed. If you don't
  268.   supply a directory path as part of the new directory name, the
  269.   directory will be removed from the current directory on the remote
  270.   system. For example,
  271.   
  272.      TDRF RD MYDIR
  273.   
  274.   removes a directory named MYDIR from the current directory on the
  275.   remote system.
  276.   
  277.  
  278. CD
  279.  
  280.   Changes to a new directory on the remote system. The single letter
  281.   abbreviation for this command is C.
  282.   
  283.   You must supply the name of the directory to change to. You can also
  284.   supply a new drive to switch to, or even supply a new drive and
  285.   directory all at once. For example,
  286.   
  287.      TDRF CD A:ABC
  288.   
  289.   makes drive A the current drive on the remote system, and switches to
  290.   directory ABC as well.
  291.   
  292.   
  293. TDRF messages
  294. -------------
  295. Following is a list of the messages you might encounter when working with
  296. TDRF:
  297.  
  298. "Can't create file on local system: ___"
  299.   You were copying a file from the remote system using the COPYFROM 
  300.   command, but the file could not be created on the local system. 
  301.   Either the disk is full on the local system, or the file name on the
  302.   remote system is the same as a directory name on the local system.
  303.  
  304. "Can't modify exe file"
  305.   The file name you specified to modify is not a valid copy of the TDRF
  306.   utility. You can only modify a copy of the TDRF utility with the -w
  307.   option.
  308.  
  309. "Can't open exe file to modify"
  310.   The file name you specified to be modified can't be opened. You've
  311.   probably entered an invalid or nonexistent file name.
  312.  
  313. "Error opening file: ___"
  314.   The file you wanted to transfer to the remote system could not be
  315.   opened. You probably specified a nonexistent or invalid file name.
  316.  
  317. "Error writing file: ___"
  318.   An error occurred while writing to a file on the local system, 
  319.   probably because the local disk is full. Try deleting enough 
  320.   files to make room for the file you want to copy from the 
  321.   remote system.
  322.  
  323. "Error writing file ___ on remote system"
  324.   An error occurred while writing a file to the disk on the remote
  325.   system, probably because the remote disk is full. Try deleting
  326.   enough files to make room for the file you want to transfer.
  327.  
  328. "File name is a directory on remote"
  329.   You've tried to copy a file from the local to the remote system, but
  330.   the local file name exists as a directory on the remote system. You'll
  331.   have to rename the file by giving a second argument to the COPY
  332.   command.
  333.  
  334. "Interrupted"
  335.   You've pressed Ctrl-Break while waiting for communications to be
  336.   established with the remote system.
  337.  
  338. "Invalid command: ___"
  339.   You've entered a command that TDRF doesn't recognize. For each
  340.   command, you can use the DOS-style command word or the single-letter
  341.   abbreviation.
  342.  
  343. "Invalid command line option: ___"
  344.   You've given an invalid command-line option when starting TDRF from
  345.   the DOS command line.
  346.  
  347. "Invalid destination disk drive"
  348.   You've specified a nonexistent disk drive letter in your command.
  349.   Remember that the remote system might have a different number of disk
  350.   drives than the local system.
  351.  
  352. "No matching files on remote"
  353.   You've done a DIR command, but either there are no files in the
  354.   directory on the remote system, or no files match the wildcard
  355.   specification that you gave as an argument to the DIR command.
  356.  
  357. "No remote command specified"
  358.   You haven't specified any command on the DOS command line; TDRF has
  359.   nothing to do.
  360.  
  361. "Too few arguments"
  362.   You haven't supplied enough arguments for the command you
  363.   requested. Some commands require an argument, like DEL, MD, 
  364.   CD, RD, and so on.
  365.  
  366. "Too many arguments"
  367.   You've specified too many arguments for the command you requested.
  368.   No command requires more than two arguments, and some require only one.
  369.  
  370. "Wrong version of remote driver"
  371.   You're using incompatible versions of TDRF and TDREMOTE. Make sure
  372.   you're using the latest version of each utility.
  373.  
  374.  
  375. 2. TDSTRIP: The symbol table stripping utility
  376. ==============================================
  377. TDSTRIP.EXE lets you remove the symbol table from an executable 
  378. program generated by TLINK with the /v option. This is a faster 
  379. way of removing the symbol table than relinking without the /v 
  380. option. It can also remove debugging information from an .OBJ file. 
  381. Just enter
  382.  
  383.    TDSTRIP PROGRAM.OBJ
  384.  
  385. You can also use this utility to remove the symbol table and put it in
  386. a separate file. This is useful when you want to convert the .EXE
  387. format program to a .COM file and still retain the debugging symbol
  388. table. This utility puts the symbol table in a file with the extension
  389. .TDS. Turbo Debugger looks for this file when it loads a program to
  390. debug that doesn't have a symbol table.
  391.  
  392.  
  393. TDSTRIP command-line options
  394. ----------------------------
  395. Following is the general form of the DOS command line used to start the
  396. Symbol Table Stripping utility, TDSTRIP:
  397.  
  398.    TDSTRIP [-s] [-c] <exename> [<outputname>]
  399.  
  400. If you don't specify the -s option, the symbol table is removed from
  401. the .EXE file <exename>. If you specify an <outputname>, the original
  402. .EXE file is left unchanged and a version with no symbol table is created
  403. as <outputname>.
  404.  
  405. If you do specify the -s option, the symbol table will be put in a
  406. file with the same name as <exename> but with the extension .TDS. If you
  407. specify an output file, the symbol table will be put in <outputname>.
  408.  
  409. If you specify the -c option, the input .EXE file is converted into a
  410. .COM file. If you use -c in conjunction with -s, you can convert an
  411. .EXE file with symbols into a .COM file with a separate .TDS symbol
  412. file. This lets you debug .COM files with Turbo Debugger while
  413. retaining full debugging information.
  414.  
  415. You can only convert certain .EXE files into .COM files. The same
  416. restrictions apply to the -c option of TDSTRIP as to the /t option of
  417. TLINK: Your program must start at location 100 hex, and it can't
  418. contain any segment fixups.
  419.  
  420. The default extension for <exename> is .EXE. If you add an extension,
  421. it overrides the default.
  422.  
  423. There are two default extensions for <outputname>,
  424.  
  425. o .TDS when you use the -s command-line switch
  426. o .EXE when you don't use the -s command-line switch
  427.  
  428. If you add an extension, it overrides the defaults.
  429.  
  430. Following are some sample TDSTRIP command lines:
  431.  
  432.    TDSTRIP MYPROG
  433.  
  434. removes the symbol table from MYPROG.EXE.
  435.  
  436.    TDSTRIP -s MYPROG.OLD
  437.  
  438. removes the symbol table from MYPROG.OLD and places it in MYPROG.TDS.
  439.  
  440.    TDSTRIP MYPROG MYPROG.NEW
  441.  
  442. leaves MYPROG.EXE unchanged but creates another copy of it named
  443. MYPROG.NEW without a symbol table.
  444.  
  445.    TDSTRIP -s MYPROG MYSYMS
  446.  
  447. removes the symbol table from MYPROG.EXE and places it in MYSYMS.TDS
  448.  
  449.  
  450. TDSTRIP error messages
  451. ----------------------
  452. Following is a list of TDSTRIP error messages:
  453.  
  454. Can't create file: ___
  455.   TDSTRIP couldn't create the output symbol or .EXE file. Either there
  456.   is no more room on your disk, or you specified an invalid output file
  457.   name.
  458.   
  459. Can't open file: ___
  460.   TDSTRIP could not locate the .EXE file from which you want to remove the
  461.   symbol table.
  462.  
  463. Error reading from input exe file
  464.   An error occurred during reading from the input executable program
  465.   file. Your disk may be unreadable. Try the operation again.
  466.  
  467. Error writing to output file: ___; disk may be full
  468.   TDSTRIP couldn't write to the output symbol or executable file. This
  469.   usually happens when there is no more room on your disk. You will have
  470.   to delete some files to make room for the file created by TDSTRIP.
  471.  
  472. Input file is not an .exe file
  473.   You've specified an input file name that isn't a valid executable
  474.   program. You can strip symbols only from .EXE programs because these
  475.   are the only ones that TLINK can put a symbol table in. Programs in
  476.   .COM file format don't have symbol tables and can't be processed by
  477.   TDSTRIP.
  478.  
  479. Invalid command-line option: ___
  480.   You've given an invalid command-line option when starting TDSTRIP
  481.   from the DOS command line.
  482.  
  483. Invalid exe file format
  484.   The input file appears to be an .EXE format program file, but
  485.   something is wrong with it. You should relink the program with TLINK.
  486.  
  487. Not enough memory
  488.   Your system doesn't have enough free memory for TDSTRIP to load and
  489.   process the .EXE file. This only happens in extreme circumstances
  490.   (TDSTRIP has very modest memory requirements). Try rebooting your 
  491.   system and running TDSTRIP again. You might have previously run a
  492.   program that allocated some memory that won't be freed until you reboot.
  493.  
  494. Program does not have a symbol table
  495.   You've specified an input file that's a valid .EXE file, but it
  496.   doesn't have a symbol table.
  497.  
  498. Program does not have a valid symbol table
  499.   The symbol table at the end of the .EXE file isn't a valid TLINK
  500.   symbol table. This can happen if you try to use TDSTRIP on a program
  501.   created by a linker other than TLINK. Relink the program with TLINK.
  502.  
  503. Too many arguments
  504.   You can supply a maximum of two arguments to TDSTRIP, the first being
  505.   the name of the executable program, and the second being the name of
  506.   the output file for symbols or the executable program.
  507.  
  508. You must supply an exe file name
  509.   You've started TDSTRIP without giving it the name of an .EXE program
  510.   file whose symbol table you want to strip.
  511.  
  512.  
  513. 3. TDMAP: The .MAP file utility
  514. ===============================
  515. The TDMAP utility takes a .MAP file--an ASCII file created by the
  516. linker containing all public symbols of a program--and appends it to
  517. the .EXE file in Turbo Debugger format.
  518.  
  519. The syntax for using TDMAP is
  520.  
  521.    TDMAP <filename> [/E<sourceextension>]
  522.  
  523. TDMAP reads <filename>.MAP and adds debugging information to
  524. <filename>.EXE. For example, if you wanted to append debugging 
  525. records to a program called HELLO.C, you could enter
  526.  
  527.    TDMAP hello /Ec
  528.  
  529. Note that the <sourceextension>, preceded with /E, is optional.
  530.  
  531.  
  532. 4. TDUMP: The file dumping utility
  533. ==================================
  534. The TDUMP utility program produces a file dump that shows the 
  535. structure of a file.
  536.  
  537. TDUMP breaks apart a file structurally and uses the file's extension to
  538. determine the output display format. TDUMP recognizes many file formats, 
  539. including .EXE, .OBJ, and .LIB files. If TDUMP doesn't recognize an 
  540. extension, it produces a hexadecimal dump of the file.  You can control 
  541. the output format by using command-line options when you start the 
  542. program. (These options are described later).
  543.  
  544. TDUMP's ability to peek at a file's inner structure displays not only
  545. a file's contents, but also how a file is constructed. Moreover,
  546. because TDUMP verifies that a file's structure matches its extension,
  547. you can also use TDUMP to test file integrity.
  548.  
  549.  
  550. TDUMP syntax
  551. ------------
  552. The syntax for TDUMP is
  553.  
  554.    TDUMP [<options>] <Inputfile> [<Listfile>] [<options>]
  555.  
  556. <Inputfile> is the file whose structure you want to display (or "dump").
  557. <Listfile> is an optional output file name (you can also use the standard
  558. DOS redirection command ">"). <options> stands for any of the TDUMP
  559. options discussed in the next section.
  560.  
  561.  
  562. TDUMP command-line options
  563. --------------------------
  564. You can use several optional switches with TDUMP, all of which start with
  565. a hyphen or a forward slash. The following two examples are equivalent:
  566.  
  567.    TDUMP -el -v demo.exe
  568.  
  569.    TDUMP /el /v demo.exe
  570.  
  571.  
  572.   The -a and -a7 options
  573.   ----------------------
  574.   TDUMP automatically adjusts its output display according to the file type.
  575.   You can force a file to be displayed as ASCII by including the -a or -a7 
  576.   option.
  577.  
  578.   -a  produces an ASCII file display, which shows the offset and the contents
  579.       in displayable ASCII characters. A character that is not displayable 
  580.       (like a control character) appears as a period.
  581.  
  582.   -a7 converts high-ASCII characters to their low-ASCII equivalents. This 
  583.       is useful if the file you are dumping sets high-ASCII characters as
  584.       flags (WordStar files do this).
  585.  
  586.  
  587.   The -b# option
  588.   --------------
  589.   The -b# option allows you to display information beginning at a specified
  590.   offset.  For example, if you wanted a dump of MYFILE starting from offset
  591.   100, you would use:
  592.  
  593.      TDUMP -b100 MYFILE
  594.  
  595.  
  596.   The -e, -el, -er and -ex options
  597.   --------------------------------
  598.   All four options force TDUMP to display the file as an executable
  599.   (.EXE) file.
  600.  
  601.   An .EXE file display consists of information contained within a file
  602.   that is used by the operating system when loading a file.  If symbolic
  603.   debugging information is present (Turbo Debugger or Microsoft CodeView),
  604.   TDUMP displays it.
  605.  
  606.   TDUMP displays information for DOS executable files, NEW style executable
  607.   files ( Microsoft Windows and OS/2 .EXEs and DLLs ), and Linear Executable
  608.   files.
  609.  
  610.   -el suppresses line numbers in the display.
  611.  
  612.   -er prevents the relocation table from displaying.
  613.  
  614.   -ex prevents the display of New style executable information.
  615.       This means TDUMP will only display information for the DOS
  616.       "stub" program.
  617.  
  618.  
  619.   The -h option
  620.   -------------
  621.   The -h option displays the dump file in hexadecimal (hex) format.  Hex
  622.   format consists of a column of offset numbers, 16 columns of hex numbers,
  623.   and their ASCII equivalents (a period appears where no displayable ASCII
  624.   character occurs).
  625.  
  626.   If TDUMP doesn't recognize the input file's extension, it displays the
  627.   file in hex format (unless an option is used to indicate another format).
  628.  
  629.  
  630.   The -l option
  631.   -------------
  632.   The -l option displays the output file in library (.LIB) file format.
  633.   A library file is a collection of object files (see the -o option for
  634.   more on object files). The library file dump displays library-specific
  635.   information, object files, and records in the object file.
  636.  
  637.  
  638.   The -m option
  639.   -------------
  640.   The -m option leaves C++ names occurring in object files, executable
  641.   files, and Turbo Debugger symbolic information files in "mangled" format.
  642.   This option is helpful in determining how the C++ compiler "mangles"
  643.   a given function name and its arguments.
  644.  
  645.  
  646.   The -o, -oc, -ox, and -oi options
  647.   ---------------------------------
  648.   -o  displays the file as an object (.OBJ) file. An object file
  649.       display contains descriptions of the command records that pass
  650.       commands and data to the linker, telling it how to create an .EXE
  651.       file.
  652.  
  653.       The display format shows each record and its associated data on a
  654.       record-by-record basis.
  655.  
  656.   -oc causes TDUMP to perform a cyclic redundancy test (CRC) on each 
  657.       encountered record. The display differs from the -o display only
  658.       if an erroneous CRC check is encountered (the TDUMP CRC value differs
  659.       from the record's CRC byte).
  660.  
  661.   -ox<id> excludes designated record types from the object module dump.
  662.           Replace <id> with the record name not to be displayed. For 
  663.           instance,
  664.  
  665.             TDUMP -oxPUBDEF MYMODULE.OBJ
  666.  
  667.           produces an object module display for MYMODULE.OBJ that excludes the
  668.           PUBDEF records.
  669.  
  670.   -oi<id> includes only specified record types in the object module dump.
  671.           Replace <id> with the name of the record to be displayed.
  672.           For instance,
  673.  
  674.             TDUMP -oiPUBDEF MYMODULE.OBJ
  675.  
  676.           produces an object module display for MYMODULE.OBJ that displays 
  677.           only the PUBDEF records.
  678.  
  679.   The -ox and -oi options are helpful in finding errors that occur during
  680.   linking.   By examining the spelling and case of the EXTDEF symbol and 
  681.   the PUBDEF symbol, you can resolve many linking problems. For instance, 
  682.   if you receive an "unresolved external" message from the linker, use 
  683.   "TDUMP -oiEXTDEF" to display the external definitions occurring in the 
  684.   module causing the error.  Then, use "TDUMP -oiPUBDEF" on the module 
  685.   containing the public symbol the linker could not match.
  686.  
  687.   Another use for the -oi switch is to check the names and sizes
  688.   of the segments generated in a particular module.  For instance,
  689.  
  690.     TDUMP -oiSEGDEF MYMODULE.OBJ
  691.  
  692.   displays the names, attributes, and sizes of all of the segments
  693.   in MYMODULE.
  694.  
  695.  
  696.   The -v option
  697.   -------------
  698.   The -v option is used for verbose display.  If used with an .OBJ or .LIB
  699.   file, TDUMP produces a hexadecimal dump of the record's contents without
  700.   any comments about the records.
  701.  
  702.  
  703. If you use TDUMP on a Turbo Debugger symbol table, it displays the 
  704. information tables in the order in which it encounters them.  TDUMP 
  705. doesn't combine information from several tables to give a more meaningful
  706. display on a per-module basis.
  707.  
  708.  
  709. 5. TDNMI: The utility to reset the breakout-switch
  710. ==================================================
  711. Periscope users: Use TDNMI if you have a Periscope I board and want to
  712. use its breakout switch with Turbo Debugger. TDNMI is a small TSR
  713. program that periodically resets the breakout-switch latch on the
  714. Periscope board. Use the /p command-line option to set the board's
  715. base address if it is different from the default address of 300.
  716.  
  717. If you are using a PC clone that disables the NMI interrupt, you can 
  718. install the TDNMI resident utility to clear the NMI every half second. 
  719. You'll need to do this if you're using a breakout switch on such a system.
  720.  
  721.  
  722. 6. TDMEM: The memory display utility
  723. ====================================
  724. TDMEM displays the current availability of your computer's memory.
  725. This includes Expanded or Extended memory, if it exists, and conventional 
  726. memory.  This is useful when debugging TSR and device driver programs.  
  727. You can use the File|Table relocate option in Turbo Debugger to specify 
  728. a base segment address for the current symbol table that is shown when 
  729. running TDMEM.
  730.  
  731.  
  732. 7. TDDEV: The device driver display utility
  733. ===========================================
  734. TDDEV produces a report showing the device drivers loaded into the system
  735. as well as how much memory each uses and what interrupt vectors are taken
  736. over.  This report is useful when debugging device driver applications.
  737.  
  738.  
  739. \**************************** END OF FILE ********************************\
  740.