home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sd386v50.zip / sd386src.zip / README.DOC < prev    next >
Text File  |  1996-08-23  |  9KB  |  261 lines

  1. SD386 Version 5.00
  2. ------------------
  3.  
  4.  Here's what you can now do with the addition of TCP/IP support:
  5.  
  6.  - Remote debug a process over a network TCP/IP connection.
  7.  
  8.  - Remote debug a child process over a network TCP/IP connection.
  9.  
  10.  - Remote debug the processes of a multiple process application
  11.    using a remote TCP/IP connection. This is NOT an attach/detach
  12.    methodology. You will get an independent debugger window for
  13.    each process of the application. A debugger window will be
  14.    automatically spawned each time a new process begins.
  15.  
  16.  - Ctrl-Break Support for all of the above configurations.
  17.  
  18.  - DosExecPgm() Support for all of the above connections.
  19.  
  20.  - Bug fixes.
  21.    - fix for restoring breakpoint file on every step/go after a save.
  22.    - fix for trap when setting breakpoint by name.
  23.  
  24.  TCP/IP Setup
  25.  ------------
  26.  
  27.  There are some things you will need to do before using the
  28.  TCP/IP support.
  29.  
  30.  - You need to have TCP/IP installed and running.
  31.  
  32.  - You need to specify a port number in your SERVICES file.  You
  33.    should be able to find this file in the \MPTN\ETC subdirectory
  34.    on the drive where OS/2 is installed.  The entry should look
  35.    like:
  36.  
  37.     sd386     4321/tcp
  38.  
  39.    where 4321 is the port number and tcp is the protocol.  You can
  40.    use whatever port number you wish as long as there is no
  41.    conflict with other well-known services.  Simply browse
  42.    SERVICES and find an available port number.  Use lower case.
  43.  
  44.    You need to do this on both the SD386 and ESP sides of the
  45.    connection.
  46.  
  47.  
  48. -  On the SD386 end of the connection, you need to specify a host
  49.    name in your HOSTS file.  You should be able to find this file
  50.    in the \MPTN\ETC subdirectory on the drive where OS/2 is
  51.    installed.  The entry should look like:
  52.  
  53.    9.51.136.80  clements.cv.lexington.ibm.com  elvis
  54.  
  55.    where elvis is the alias for the foreign address specified by
  56.    the dotted decimal/name addresses.  Use whatever alias name you
  57.    wish.
  58.  
  59.  
  60.  Example Invocation
  61.  ------------------
  62.  
  63.  A typical invocation will look like so:
  64.  
  65.   On the SD386 side of               On the ESP side of
  66.   the connection.                    the connection.
  67.  
  68.   sd386 /telvis mypgm.exe            esp /t
  69.  
  70.   where elvis is the name of the remote machine.
  71.  
  72.  
  73. SD386 Version 4.03
  74. ------------------
  75.  This README.DOC contains the information for the changes made for
  76.  SD386 Version 4.03.  The SD386.INF and SD386 LIST3820 have not
  77.  been updated from previous versions. The only files that have
  78.  changed are SD386.EXE, ESP.EXE, and this README.DOC.
  79.  
  80.  This following enhancements provide some of the fundamental
  81.  support needed for c++.  This version only explicitly supports
  82.  VAC++ symbols.  (I have assumed that C-Set++ and VAC++ symbols
  83.  are the same.  So you should be able to debug C-Set++ as well.)
  84.  
  85.  c vs c++ support.
  86.  ----------------
  87.  
  88.  SD386 does not require any special options for c++. There are no
  89.  additional dlls or installation required.  Simply toss it in your
  90.  tools directory and use it the same way you did for c.
  91.  
  92.  c++ support.
  93.  -----------
  94.  
  95.  Here's basically what you can do:
  96.  
  97.   - put your cursor on an object name(instance of a class) and hit
  98.     the Ctrl-Ins to put the object into the data window.  (This is
  99.     the same as structures in c.)  You can then go to the data
  100.     window(F2) and move the cursor to a member and expand it again
  101.     just as you did in c. Placing the cursor on a data member will
  102.     expand the data and placing the cursor on a method will take
  103.     you to the method.
  104.  
  105.   - In the source view, put your cursor on an object name(instance
  106.     of a class) and hit the ENTER key to go into browse mode. You
  107.     can then expand data members or go to methods just as you do
  108.     in the data window.
  109.  
  110.   - When you are in the implementation file of a class put the
  111.     cursor on a class member name hit ENTER(or INS) to view. The
  112.     "this" ptr is implicit. To see the "this" ptr simply move the
  113.     cursor to a blank space and hit ENTER. You will see the "this"
  114.     ptr. Simply keep hitting ENTER to follow it wherever you want
  115.     to go.
  116.  
  117.   - You can now use wide column vio modes such as 132x50.
  118.  
  119.   - You will now see unmangled names in the call stack.
  120.  
  121.  
  122.  Here are some issues that haven't been resolved:
  123.  
  124.   - GetFunction, FindFunction, and SetFunctionNameBreak are not
  125.     very functional due to the c++ name mangling. This issue will
  126.     be addressed later if there is a need. At this point, expand
  127.     the object and move your cursor to the method you want to go
  128.     to and hit enter, or use GetFile.
  129.  
  130.  c++ object formatting.
  131.  ---------------------
  132.  
  133.     When you show an object the object name will be formatted as
  134.     follows:
  135.  
  136.     object_name   class : public derived_class
  137.                         : public derived_class
  138.                         : public derived_class
  139.  
  140.     Multiple derived classes will be shown for multiple
  141.     inheritance. To browse a derived class, simply put the cursor
  142.     on the derived class and hit ENTER.
  143.  
  144.  c++ member formatting.
  145.  ---------------------
  146.  
  147.     c++ members will be formatted as follows:
  148.  
  149.     prefix    method/data member         data
  150.  
  151.     prefix
  152.     ------
  153.  
  154.       The prefixes for data members are as follows:
  155.  
  156.        "Pri"  - Private
  157.        "Pro"  - Protected
  158.        "Pub"  - Public
  159.  
  160.        "St"   - Static
  161.        "Vt"   - Virtual table ptr
  162.        "Vb"   - Virtual base  ptr
  163.        "Co"   - Const
  164.        "Vo"   - Volatile
  165.        "Se"   - Self-ptr
  166.  
  167.       The prefixes for methods are as follows:
  168.  
  169.        "Pri"  - Private
  170.        "Pro"  - Protected
  171.        "Pub"  - Public
  172.  
  173.        "Ct"   - Constructor
  174.        "Dt"   - Destructor
  175.  
  176.        "St"   - Static
  177.        "In"   - Inline
  178.        "Co"   - Const
  179.        "Vo"   - Volatile
  180.        "Vir"  - Virtual
  181.  
  182.       The prefixes for friends are as follows:
  183.  
  184.        "FriendFnc" - Friend function
  185.        "FriendCls" - Friend class
  186.  
  187.     method/data
  188.     -----------
  189.  
  190.        Methods are formatted as prototypes. These can be very long
  191.        which is the reason wide columns are now supported.
  192.  
  193.        Data members may have suffixes attached to the member names
  194.        as follows:
  195.  
  196.          "...object"
  197.          "...reference"
  198.          "...typedef"
  199.          "...enum"
  200.  
  201.        To expand an object or reference simply put the cursor on
  202.        it and hit ENTER. The typedefs and enums let you see the
  203.        names of these items in the class.
  204.  
  205. =======================================================================
  206. SD386 Version 4.00/4.01
  207. ------------------------
  208.  
  209.  This following enhancements provide some of the fundamental
  210.  support needed for c++ as well as improvements for c development.
  211.  
  212. Support for Source code in include files
  213. ----------------------------------------
  214.  
  215.  You can now use include files just as you would any other source
  216.  file. You can get file views, set breakpoints, step into code
  217.  blocks, save and restore breakpoints, etc. This support has been
  218.  made backward compatible to all the toolsets that have been
  219.  supported by SD386 including IBM C/2, Microsoft C6.00, C-Set/2,
  220.  C-Set++, and the current VAC++.
  221.  
  222.  ( You will also be able to see some of your c++ variables in
  223.    class files but they will be unformatted. Support for symbols
  224.    will come later. )
  225.  
  226. Support for the Alloctext Pragma
  227. --------------------------------
  228.  
  229.  The Alloctext Pragma is used to force functions into specific
  230.  segments.  One of its primary uses is for page tuning
  231.  applications.  Prior to this release SD386 only supported one
  232.  code segment per compile unit.  Now, support is provided for
  233.  multiple code sections.  This support has been made backward
  234.  compatible to 16 bit tools including IBM C/2 and Microsoft C6.00
  235.  and also to 32 bit tools including IBM C-Set/2 and IBM C-Set++.
  236.  You can also debug assembler code at source level with multiple
  237.  code segments.  This maybe be useful for anyone writing 32-16
  238.  thunks.
  239.  
  240.  There are a couple of known problems:
  241.  
  242.   - If you're using IBM C/2 then use the LINK.EXE that comes with
  243.     OS/2.  The one that comes with the toolset doesn't produce
  244.     correct debug info.
  245.  
  246.   - C-Set/2 supports the alloctext pragma;however, the debug
  247.     information generated when the alloctext is used is corrupt.
  248.     The best thing to do in this case is move to the VAC++ level.
  249.  
  250.  
  251. Breakpoint Pulldown Enhancements
  252. --------------------------------
  253.  
  254.  Breakpoints set by function name will now be saved by function
  255.  name.  Prior releases converted function names to a source
  256.  file-line number format causing the breakpoint to go out of sync
  257.  with the source if changes were made to the source file.
  258.  
  259.  There have been some additional miscellaneous fixes for
  260.  breakpoint saving and restoring.
  261.