home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l038 / 1.img / DOC.PAK / HELPME!.TDW next >
Encoding:
Text File  |  1991-03-14  |  13.1 KB  |  285 lines

  1. /*******************************************************************/
  2.             TURBO DEBUGGER FOR WINDOWS & TOOLS 2.5
  3.                         MANUAL REFERENCE
  4.  
  5.  
  6. CONTENTS:
  7. 1.  Turbo Debugger for Windows (TDW) 2.5, Microsoft Windows Debugging 
  8.     Features
  9. 2.  Mouse Support in TDW 2.5
  10. 3.  TDW 2.5: Answers to Common Questions
  11.  
  12.  
  13. Turbo Debugger for Windows (TDW) 2.5, MICROSOFT WINDOWS DEBUGGING FEATURES
  14. --------------------------------------------------------------------------
  15.   1.  View|Windows Messages
  16.  
  17.       a.  If you set up View|Windows Messages to display messages for
  18.       more than one procedure or handle or both, do not log all
  19.       messages.  Instead, log specific messages for each procedure or
  20.       handle.  If you log all messages, the system might hang, in
  21.       which case you will have to reboot to continue.  This behavior
  22.       is due to the large number of messages being transferred
  23.       between Windows and TDW.
  24.  
  25.       b.  When setting a break on the Mouse class of messages, note that
  26.       a "mouse down" message must be followed by a "mouse up" message
  27.       before the keyboard will become active again.  When you return
  28.       to the application, you might have to press the mouse button
  29.       several times to get Windows to receive a "mouse up" message.
  30.       You'll know Windows has received the message when you see it in the
  31.       bottom pane of the Windows Message window after the program breaks.
  32.  
  33.       c.  If you enter a handle name but indicate that it's a
  34.       procedure, TDW will accept your input and will not complain. 
  35.       However, when you run your program, TDW will not log any
  36.       messages.  If TDW is not logging messages when you think you've
  37.       set a handle, check the Add Window dialog box of the top left pane of
  38.       the Windows Messages window to see if you've pressed the Handle button.
  39.  
  40.   2.  View|Module
  41.  
  42.       a.  The Debug Startup radio buttons are used for DLLs only.  To
  43.       debug EXE startup, begin TDW with the Assembler-mode Startup
  44.       command-line option (-l).
  45.  
  46.       b.  When a program loaded into TDW is reset, the Load symbols
  47.       radio buttons default to YES for all DLLs and applications
  48.       with symbols, even if you specified NO for a given DLL or
  49.       application prior to resetting the program.
  50.  
  51.        
  52. MOUSE SUPPORT IN TDW 2.5
  53. ------------------------
  54.   Turbo Debugger provides mouse support that allows you to manipulate 
  55.   elements within the user interface. The following lists mouse- 
  56.   related terms to help you become accustomed to using Turbo 
  57.   Debugger's mouse support.
  58.  
  59.   1.  When the mouse driver is disabled for Windows, it will be disabled
  60.       for TDW as well.  Starting TDW with the mouse support option
  61.       (-p) has no effect unless you enable the Windows mouse driver.
  62.  
  63.   2.  If you have a mouse driver installed by default, the Debugger,
  64.       and installation utilities will try to use your mouse. If you 
  65.       do not wish to use your mouse during a debugging session, you 
  66.       can use the command-line switch '-p-' to turn the mouse off. 
  67.       You can also set this option in TDWINST in the Options\Input & 
  68.       Prompting dialog box.
  69.  
  70.   3.  Clicking and Dragging
  71.  
  72.       Most mice provide two or three buttons that allow for various
  73.       functions inside an application. In Turbo Debugger you can,
  74.       among other things, use the left mouse button to select 
  75.       options, move items around on the screen, and set breakpoints.
  76.       The right mouse button has some of the same functionality as 
  77.       the left mouse button, but you can also open local menus within 
  78.       windows using this button. Double clicking the mouse on options 
  79.       in a list will select that item. For instance, in the File|Open 
  80.       dialog box you can highlight a file by clicking the mouse once 
  81.       on the file name. You can load the file by double clicking on 
  82.       the name.
  83.  
  84.   4.  The commands shown at the bottom of the screen, like F1-Help,
  85.       can also be selected using the mouse. Dragging the mouse 
  86.       consists of depressing the mouse button and moving the mouse 
  87.       cursor to a new location.
  88.  
  89.   5.  Mouse drivers
  90.  
  91.       Your mouse driver is the application that you install to make
  92.       your mouse active inside Turbo Debugger and other programs.
  93.       Most mouse drivers will work with Turbo Debugger but may have
  94.       to be updated to a newer version if you are having problems
  95.       using an older version.  If you have problems with the mouse
  96.       once you have loaded TDW or TDWINST, you might try using the
  97.       Display Swap option that can be specified either in TDWINST or
  98.       on the command-line with the -ds switch. Consult your mouse
  99.       manual to ensure proper use of the mouse and its driver. Early
  100.       versions of mouse drivers don't support screen display modes
  101.       larger than 80 columns by 24 lines. As a result, your mouse
  102.       driver might not work correctly when you use Turbo Debugger's
  103.       enhanced display modes EGA 80x43, VGA 80x50, or EGA/VGA
  104.       graphics modes.
  105.  
  106.   6.  Scroll bars
  107.  
  108.       Scroll bars, located at the right and bottom of all windows,
  109.       allow you to specify a new position within a window by clicking
  110.       the mouse on an indicator on the scroll bar and dragging it to
  111.       a new location. Arrows located at either end of a scroll bar
  112.       also allow you to scroll through the window when you click and
  113.       hold the mouse on the arrow heads.
  114.  
  115.   7.  Icons
  116.  
  117.       An icon is a window that has been shrunk down to a smaller
  118.       representation of the window. These icons can be moved with the
  119.       mouse by clicking on the border of the icon and dragging it to
  120.       a new location. Arrows located at the top right of each
  121.       viewer allow you to zoom and unzoom the viewer when you click
  122.       the mouse on the arrows. When you iconize a window, it is
  123.       stored at the bottom right side of the screen. If any other
  124.       windows are currently showing at this position the icon will be
  125.       put behind that window. The global Window menu allows you to
  126.       pick from a list of currently open windows. This will also take
  127.       you to an iconized window.
  128.  
  129.   8.  Resize box
  130.  
  131.       The resize box is located at the bottom right of each window.
  132.       You can click the mouse on the box and drag the mouse to resize
  133.       the viewer.  Using the mouse, you can also resize the viewer by
  134.       clicking the mouse on the right border of any window and
  135.       dragging it. Windows and inspectors can be moved using the
  136.       mouse by clicking on the top and left borders and dragging the
  137.       window to a new location. Double clicking the mouse on the top
  138.       border is a short cut to zooming/unzooming the current window.
  139.  
  140.   9.  Dialog boxes
  141.  
  142.       Dialog boxes allow you to select options, specify files to save
  143.       or restore, and choose different settings. You can click the
  144.       mouse to make prompts or panes within the dialog box active.
  145.       Help for the current dialog box is available in by clicking on
  146.       the Help button in the box.
  147.  
  148.  10.  Close buttons
  149.  
  150.       A Close button is located at the top left of all windows and
  151.       dialog boxes. It lets you close the current window or dialog
  152.       box when you click the mouse on it. If you have entered any
  153.       information into a dialog box and you use the Close button to
  154.       close it, the settings you specified in the dialog box will not
  155.       be saved. This is the same as clicking the mouse on the Cancel
  156.       button inside a dialog box. You must select the OK button in
  157.       dialog boxes in order to save these settings.
  158.  
  159.  11.  When you're debugging a Windows application that uses the mouse
  160.       and you reset the application and then run the program, it won't
  161.       accept mouse clicks until you make a keyboard entry.
  162.  
  163.  
  164. TDW 2.5:  ANSWERS TO COMMON QUESTIONS
  165. -------------------------------------
  166.   Below is a list of the most commonly asked questions about Turbo 
  167.   Debugger for Windows (TDW).
  168.  
  169.   1.  Are there any syntactic or parsing differences between Turbo
  170.       Debugger's Pascal expression evaluation and Turbo Pascal's?
  171.  
  172.       a. Turbo Debugger does not support expressions for set
  173.          constructors:
  174.  
  175.           OK:   [4..7]
  176.  
  177.           BAD:  [myvar1..myvar2]   [3+4..7+8]
  178.  
  179.       b. You can't pass constant-string arguments when evaluating
  180.          functions or procedures.
  181.  
  182.           OK:   MyFunc(123)   MyFunc(StringVariable)
  183.  
  184.           BAD:  MyFunc('Constant')
  185.  
  186.                 MyFunc(StringConstant), where StringConstant is
  187.                 defined with a "const" declaration and is not a
  188.                 typed constant.
  189.  
  190.       c. You can't evaluate procedures or functions that have
  191.          structure VALUE parameters. You can evaluate procedures or
  192.          functions that have structure VARIABLE parameters, though.
  193.  
  194.   2.  What should I be aware of when I am debugging multilanguage
  195.       programs with Turbo Debugger?
  196.  
  197.       Turbo Debugger's default source language is "Source," which
  198.       means it chooses the expression language based on the current
  199.       source module. This can cause some confusion if your program
  200.       has source modules written in different languages (like C
  201.       and assembler). Since you are actually entering a language
  202.       expression any time Turbo Debugger prompts you for a value
  203.       or an address, this can cause some unexpected results:
  204.  
  205.       a. Even if you are in a CPU window or a Dump window, you
  206.          must still enter addresses in the source language,
  207.          despite the fact that the window is displaying in hex.
  208.          For example, to display the contents of memory address
  209.          1234:5678, you must type one of the following
  210.          expressions, depending on your current source language:
  211.  
  212.           C            0x1234:0x5678
  213.           Pascal        $1234:$5678
  214.           Assembler     1234H:5678H
  215.  
  216.       b. When your current language is assembler, you must be
  217.          careful when entering hex numbers, since they are
  218.          interpreted EXACTLY as they would be in an assembler
  219.          source file. This means that if you want to enter a
  220.          number that starts with one of the hex digits A - F, you
  221.          must first precede the letter with a 0 so Turbo Debugger
  222.          knows you are entering a number. Likewise, if your number
  223.          ends in B or D (indicating a binary or decimal number), you
  224.          must add an H to indicate that you really want a hex number:
  225.  
  226.           OK:   0aaaa   123dh   89abh
  227.  
  228.           BAD:  aaaa    123d    89ab
  229.  
  230.   3.  Why does the text "Cannot be changed" come up when I do an
  231.       assignment in the Data/Evaluate/Modify "New value" pane?
  232.  
  233.       If you use the Data/Evaluate/Modify command (Ctrl-F4) to
  234.       change a variable by direct assignment, the "New value" pane
  235.       will say "Cannot be changed." This doesn't mean the 
  236.       assignment didn't take effect. What it does mean is that the
  237.       assignment expression as a whole is not a memory-referencing
  238.       expression whose value you can change by moving to the
  239.       bottom pane. Here are some examples of direct assignment
  240.       expressions:
  241.  
  242.         C              x = 4
  243.         Pascal         ratio := 1.234
  244.         Assembler      wval = 4 shl 2
  245.  
  246.       If you had typed just "x," "ratio," or "wval" into the top
  247.       pane, then you would be able to move to the bottom pane and
  248.       enter a new value. The direct assignment method using the
  249.       "=" or ":=" assignment operator is quicker and more
  250.       convenient if you don't care about examining the value of
  251.       the variable before modifying it.
  252.  
  253.  
  254.   4.  What could happen when global breakpoints are set on local
  255.       variables?
  256.  
  257.       When you set global breakpoints using local variables, make
  258.       sure the breakpoints are cleared before you exit the
  259.       procedure or function that the variables are defined in. The
  260.       best way to do this is to put a breakpoint on the last line
  261.       of the procedure or function. If you do not clear the
  262.       breakpoints, your program will break unexpectedly and may
  263.       even hang on some machines because the breakpoints are being
  264.       set in memory that is not currently being used by the
  265.       procedure or function.
  266.  
  267.  
  268.   5.  Why is execution slower when tracing (F7) than when stepping
  269.       (F8) through my programs?
  270.  
  271.       Turbo Debugger has the capability for reverse execution, which 
  272.       means that when you are tracing through your program, TDW could
  273.       be saving all the information about the source line you just 
  274.       traced over. TDW only saves this information in the Module window
  275.       if you have chosen View|Execution History and toggled the Full History
  276.       local menu command to 'Yes'. If you want faster execution you can 
  277.       step over (F8) the instruction or toggle the Full History option to
  278.       'No' in the Execution History window. (Although reverse execution is
  279.       always available in the CPU viewer, you must toggle this option
  280.       to 'Yes' to work in the Module viewer.  The default setting is 
  281.       'No'.)
  282.  
  283. /************************* END OF FILE *****************************/
  284.  
  285.