home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / d / d017 / 1.ddi / READ.ME < prev   
Encoding:
Text File  |  1991-06-18  |  15.6 KB  |  397 lines

  1. MultiScope Debuggers for Windows Release 1.01 READ.ME                 6/18/91
  2. -----------------------------------------------------------------------------
  3.  
  4.   This READ.ME file contains important information about the MultiScope
  5.   Debuggers for Windows and DOS.  Please be sure to read each of the
  6.   sections below before using the debuggers.
  7.  
  8.  
  9.   This file is divided into eight sections:
  10.  
  11.       I. Tutorial Notes
  12.      II. Installation Notes
  13.     III. The MultiScope Launcher
  14.      IV. General Debugger Notes
  15.       V. Windows Debugger Specific Notes
  16.      VI. DOS Debugger Specific Notes
  17.     VII. General Documentation Notes
  18.    VIII. XGA Adapter Cards
  19.  
  20.  
  21.  
  22. I. Tutorial Notes
  23. =================
  24.  
  25.   Please note that you need to specify the option /DOS for performing
  26.   the Tutorial as described in Section 2.1.1, Using the Windows or
  27.   Presentation Manager User Interface, of the manual.
  28.  
  29.  
  30.  
  31. II. Installation Notes
  32. ======================
  33.  
  34.   Two installation programs are provided with this release of the
  35.   MultiScope Debuggers for Windows.  One (INSTALL.EXE) operates under
  36.   Windows 386 Enhanced mode, and the other (INSTALLT.EXE) operates
  37.   under DOS.  If your system cannot operate under Windows 386 Enhanced
  38.   mode, you can install the MultiScope Debuggers by using INSTALLT.EXE
  39.   from the DOS command line.
  40.  
  41.  
  42.  
  43. III. The MultiScope Launcher
  44. ============================
  45.  
  46.   Included in this release of the MultiScope Debuggers for Windows is
  47.   the MultiScope RTD Launcher.  This program operates under the Windows
  48.   environment and allows you to more easily execute (or "launch") the
  49.   MultiScope Run-Time Debuggers.  With the MultiScope Launch program you 
  50.   can quickly select the debugger configuration you want to execute,
  51.   and the particular application you wish to debug.  Your selected
  52.   options are automatically saved when you press the "Ok" button, and
  53.   will reappear the next time you execute Launch.
  54.  
  55.  
  56.  
  57. IV. General Debugger Notes
  58. ==========================
  59.  
  60.   *  Each of the MultiScope Run-Time Debuggers for Windows and DOS
  61.      support the interruption of the debuggee's execution with the
  62.      Ctrl-Alt-SysReq key sequence.  Pressing Ctrl-Alt-SysReq will
  63.      stop the application and return control to the debugger.
  64.  
  65.      Note:  In order to for Ctrl-Alt-SysRq to work with the Windows
  66.             application debuggers, you must have WINDEBUG.386 in your
  67.             Microsoft Windows Software Development Kit (SDK) base
  68.             directory.
  69.  
  70.      In addition, for Windows, you can use this sequence of keys to
  71.      trigger a dump of your Windows application when monitoring with
  72.      MED.  This is particularly useful when your application is in a
  73.      dead loop.
  74.  
  75.  
  76.   *  The debug information generated by the Microsoft C 6.0
  77.      compiler is not as complete as that generated by the 5.1
  78.      compiler.  For example, pointer type names are not output,
  79.      so the data window will display a '*' for the type, rather
  80.      than the complete pointer type ('* BaseList', for example).
  81.      Microsoft C 5.1 does, however, output complete debug
  82.      information.
  83.  
  84.  
  85.   *  For the Microsoft compilers, it is important to always
  86.      compile with the /Od switch when preparing a program
  87.      for debugging.  This switch disables several optimizations,
  88.      including code reorganization and stack frame elimination.
  89.      It is possible to debug programs that have been completely
  90.      optimized, but variables, line number information, and the
  91.      call chain may not seem correct (when in fact they are,
  92.      according to how the code has been re-organized by the
  93.      compiler).
  94.  
  95.  
  96.   *  If you experience low-memory problems with Windows when
  97.      debugging very large applications, or when debugging DOS or
  98.      single-system Windows Real mode applications with the WRTDP
  99.      debugger, try adding the following lines to your Windows
  100.      SYSTEM.INI file (in the [386Enh] section):
  101.  
  102.     MaxPagingFileSize=3000
  103.     PagingDrive=x
  104.  
  105.      where "x" is the drive letter of a drive that contains at least
  106.      3 megabytes of free disk space.
  107.  
  108.      (Also see the next note immediately below.)
  109.  
  110.  
  111.   *  It has been found that when using certain versions of QEMM386.SYS
  112.      (version 5.12, for example) as a replacement for Windows' HIMEM.SYS,
  113.      you may experience memory problems with Windows when debugging very
  114.      large applications.  If you experience problems, use the original
  115.      Windows HIMEM.SYS rather than QEMM386.SYS.
  116.  
  117.  
  118.  
  119. V. Windows Debugger Notes
  120. =========================
  121.  
  122.   *  If you are debugging multiple applications that require
  123.      synchronization between each other (using DDE, for example),
  124.      or if you are debugging a system-modal dialog box routine,
  125.      you should debug them using the RTDWP debugger.  This debugger
  126.      provides greater control in dealing with these types of
  127.      applications than the WRTDP debugger does.  This is due to the
  128.      fact that the character-mode RTDWP debugger actually freezes
  129.      the entire state of Windows when execution is at a breakpoint.
  130.      Note, however, that the WRTDP debugger works for most Windows
  131.      applications without any problem, and provides a more convenient
  132.      Windows graphical user interface than that of the character-mode
  133.      RTDWP debugger.
  134.  
  135.  
  136.   *  Windows sometimes has trouble properly redirecting the input
  137.      context back to the debugger in certain situations.  Here are
  138.      workarounds for two known cases of this limitation of Windows:
  139.      
  140.     - If you are debugging a DLL, and this DLL is unloaded
  141.       during execution, you may have to press the Esc (escape)
  142.       key to reset the input focus of Windows back to the
  143.       debugger.
  144.  
  145.     - If you are using the RTDWP debugger, and seem to experience
  146.       the loss of the keyboard after hitting a breakpoint, press
  147.       Alt+Tab.  This problem can occur depending on the particular
  148.       operating context Windows is in when you hit the breakpoint.
  149.       Pressing Alt+Tab in the RTDWP forces a keyboard input focus
  150.       change back to the debugger.
  151.  
  152.  
  153.   *  If you experience problems when performing single-system Windows
  154.      Real mode debugging (WRTDP /WINREAL - with no /REMOTE option),
  155.      try the following:
  156.  
  157.     - Ensure that the MultiScope Debugger directory is in your
  158.       PATH before you start Windows
  159.  
  160.     - Make sure you are using the standard Windows VGA driver
  161.       (not a third-party Super VGA driver).  Note: not all third
  162.       party display drivers support the execution of Windows Real
  163.       mode under the Windows 386 Enhanced mode environment.
  164.  
  165.     - Read the notes in Section IV above about dealing with memory
  166.       problems under Windows (as the problem may be related to
  167.       a Windows low memory situation)
  168.  
  169.     - Remove or comment out the "load=" and "run=" statements in
  170.       your Windows WIN.INI file
  171.  
  172.      If you do not want to make any of these changes to your Windows
  173.      configuration, you can use the RMSERWR and RMNETWR debuggers to
  174.      remote debug your Windows Real mode applications.
  175.  
  176.  
  177.   *  If you cannot establish a remote connection when using the
  178.      WRTDP debugger to debug remotely via a Novell network (using
  179.      the Novell NetBIOS emulator), try the following:
  180.  
  181.     - add or modify the following statements in your Windows
  182.       SYSTEM.INI file:
  183.  
  184.         NetHeapSize=16
  185.         NetAsynchFallback=TRUE
  186.         NetAsynchTimeout=25.0
  187.  
  188.       (refer to your Windows documentation for more
  189.        information on these settings)
  190.  
  191.     - add or modify the following statements in your Novell
  192.       SHELL.CFG file:
  193.  
  194.         NETBIOS BROADCAST COUNT = m
  195.         NETBIOS BROADCAST DELAY = n
  196.  
  197.       (refer to your Novell documentation for more
  198.        information on these settings)
  199.  
  200.  
  201.   *  The WRTDP and RTDWP debuggers included in this release contain
  202.      an additional set of Spy window commands not described in the
  203.      documentation.  These commands appear in the Spy window Bpt
  204.      menu, and allow you to set breakpoints on messages sent to
  205.      window procedures in the debuggee application(s).  Here is a
  206.      summary of these commands:
  207.  
  208.        Spy Window Bpt Menu (Windows debuggers only)
  209.  
  210.      Set Breakpoint on Message - Alt+Z
  211.  
  212.         This command allows you to quickly set a breakpoint
  213.         on any message that has been spied by the Spy window.
  214.         Simply select the line containing the particular
  215.         window and message in the spy window, and execute
  216.         this command.  A breakpoint will be set at the
  217.         entry point of the window procedure corresponding
  218.         to the window handle of the spied message, and
  219.         execution of the application will break to the
  220.         debugger when that message is received by the
  221.         window procedure.
  222.  
  223.  
  224.      Set Breakpoint... - Alt+B
  225.  
  226.               This command allows you to specify a particular
  227.         window, and a message (or set of messages) to break
  228.         on when received by the window procedure of the
  229.         specified window.  Simply execute this command,
  230.         and specify the window and message(s) to break
  231.         on.
  232.  
  233.  
  234.      Clear All Breakpoints - Alt+K
  235.  
  236.         This command allows you to clear all of the
  237.         breakpoints set in the application.
  238.  
  239.     
  240.      Note:  Breakpoints can only be set on the window procedures
  241.             of applications currently being debugged.  If you
  242.             attempt to set a message breakpoint on a window of
  243.             an application that is not being debugged, you will
  244.             receive the message "Unknown window procedure".
  245.  
  246.  
  247.    * This release of the RTDWP debugger for Windows applications
  248.      contains an additional option not described in the documentation:
  249.      /SVGA.  This option controls the repainting of the Windows
  250.      desktop when switching from the debugger screen to the Windows
  251.      application.  Depending on your particular video card type, and
  252.      the video mode you are operating Windows in, you may notice that
  253.      areas of the Windows desktop are not properly repainted when the
  254.      debugger switches to the Windows application context (this can
  255.      typically occur in some Super-VGA modes).  If this occurs, you
  256.      can specify the /SVGA option, and the RTDWP will cause a repaint
  257.      message to be sent, thereby "cleaning up" the display.
  258.  
  259.      Note:  Use of this option will cause WM_PAINT messages to
  260.             be sent to the application, which can interfere with
  261.             the debugging of the application's paint procedures.
  262.             This option has no effect when the /DUAL option is
  263.             specified.
  264.  
  265.  
  266.   *  The WRTDP and RTDWP debuggers included in this release contain
  267.      an additional option not described in the documentation, /CACHE.
  268.      This option controls the internal file caching of the debugger,
  269.      allowing for greater speed of operation.  This option takes an
  270.      argument that specifies the size of the cache in kilobytes.
  271.      The default setting of this option is /CACHE:256.  To disable
  272.      caching entirely, specify /CACHE:0.
  273.  
  274.  
  275.  
  276. VI.  DOS Debugger Notes
  277. =======================
  278.  
  279.   *  If you are going to use the RTD386 or SRTD386, and are
  280.      using a mouse, you should replace your existing mouse
  281.      driver with the mouse driver in the MOUSE subdirectory
  282.      of the main MultiScope installation directory.  This
  283.      driver provides additional support for these debuggers.
  284.  
  285.  
  286.   *  If you have configured VRTD386.SYS for high memory, and
  287.      are are using high memory for TSRs and device drivers,
  288.      you can get a list of the programs loaded high by executing
  289.      the LH.EXE program without any arguments.
  290.  
  291.  
  292.   *  The RTD386 or SRTD386 debuggers use the non-maskable
  293.      interrupt of the processor for performing the virtual
  294.      machine communication.  Your application should not
  295.      use the NMI when being debugged with either of these
  296.      debuggers.
  297.  
  298.  
  299.   *  When configuring VRTD386.SYS for use with RTD386 and SRTD386,
  300.      keep a DOS boot disk handy.  VRTD386.SYS performs memory
  301.      remapping for creating high memory and expanded memory, and
  302.      if memory is remapped over a disk controller ROM or a network
  303.      card, the machine may hang the next time you boot.
  304.  
  305.  
  306.  
  307. VII.  General Documentation Notes
  308. =================================
  309.  
  310.   *  The MultiScope Run-Time Debuggers for Windows provided in
  311.      this release include an additional command in the Program
  312.      menu, Exit Windows.  The Exit Windows command allows you
  313.      to exit Windows quickly, without having to first close
  314.      the debugger, then the application, and then Windows.  It
  315.      can be quite useful in situations where it is known that
  316.      the debuggee application is going to crash (perhaps even
  317.      Windows), and want to exit Windows without executing the
  318.      application any further.
  319.  
  320.  
  321.   *  The Assembly window View menu has been changed.  It now
  322.      contains three menu items:  Symbols, Source, and Opcodes.
  323.      Each of these options toggles on/off, and their state is
  324.      saved in the debugger configuration file.  The Symbols 
  325.      entry allows you to select whether or not to view the
  326.      variables and procedure names in the assembly decode.  The
  327.      Source entry allows you to select whether or not view the
  328.      source code intermixed with the decode.  The Opcodes choice
  329.      is the same as described in the manual.  For maximum speed
  330.      of operation when viewing the assembly window, turn both
  331.      the Symbols and Source entries off.
  332.  
  333.  
  334.   *  The Data window Others menu now contains a new command,
  335.      Show Char Ptrs as Strings.  This option is a toggle, and
  336.      its state is saved in the debugger configuration file.
  337.      When this command is on, all character pointers (char *
  338.      in the C language) will be displayed in the Data window
  339.      as string object they point to.  When this command is
  340.      off, pointers will be displayed with their address value.
  341.  
  342.  
  343.   *  The Memory window Others menu, Set Memory Address command
  344.      now prompts you with an expression dialog box instead of
  345.      and address dialog box.  You can entry an address-
  346.      compatible expression to specify the memory address to
  347.      view (i.e. ES:BX, DS:0x123, and so on).
  348.  
  349.    
  350.   *  Errata: Chapter 2 - Tutorial
  351.  
  352.      Page 2-11 (step 11), and page 2-22 (step 8), respectively,
  353.      will initally display the global Help index.  To view help
  354.      for step 12 (page 9), scroll down until the line "Child/
  355.      Contents" in the paragraph titled "Data Window" is selected,
  356.      and double-click or press Alt-H.
  357.  
  358.      Page 2-54 (step 1, Keyboard):  from the local Show menu,
  359.      select All.
  360.  
  361.      Page 2-73 (step 1):  You might get an error message that
  362.      you don't have enough memory to display the output of the
  363.      application.  If this occurs, close the application window
  364.      by double-clicking on its system icon, and then exit the
  365.      debugger.
  366.  
  367.  
  368.   *  Errata: Chapter 3 - Preparing Your Program
  369.  
  370.      Page 3-35 (in the "After" box), the #include statement
  371.      should read "#include <med.h>".
  372.  
  373.      Page 3-37 (in the "After" box), the "CALL" is missing
  374.      from before the "MEDDump(1)".
  375.  
  376.  
  377.  
  378. VIII.  Notes for XGA Adapter Cards
  379. ==================================
  380.  
  381.   *  MultiScope Debuggers for Windows fully support the XGA adapter
  382.      card, and allow you to debug your Windows applications using
  383.      either the character mode or the Windows interface debugger.
  384.  
  385.  
  386.   *  If you have installed Windows using the XGAHI Windows display
  387.      driver (allowing you to display 256 different colors), you should
  388.      copy the file WMS-XGA.CFG to WMS.CFG.  This will give the
  389.      debugger nicer default colors for this configuration.
  390.  
  391.  
  392. ----------------------------------------------------------------------
  393. Copyright (C) 1990, 1991 MultiScope, Inc.  All Rights Reserved.
  394.  
  395. MultiScope is a trademark of MultiScope, Inc.
  396. All other trademarks are properties of their respective owners.
  397.