home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sd386v50.zip / sd386src.zip / SD386.MSG (.txt) < prev    next >
OS/2 Message File  |  1996-08-23  |  53KB  |  1,211 lines

  1. MKMSGF
  2. 2K3u3
  3. <p=)>
  4. @!BgC
  5. InJjKVL
  6. UlVRW
  7. aSfZk
  8. p%u(u+u
  9. wNyny
  10. sd386.msg
  11.  No help for this item.
  12. SD386 Ver 5.00 08/23/96
  13.   Syntax:   SD386  [Options]  [Program Name] [Program Arguments]
  14.   Options:
  15.   /h or /?      = Print this help screen.
  16.   /p            = Read SD386.PRO.
  17.   /c            = Force case sensitivity for public names.
  18.   /i            = Debug initialization code.
  19.   /f            = Run debuggee in full screen session.
  20.   /w            = Run debuggee in text window session.
  21.   /k            = Keyboard only (no mouse).
  22.   /u            = Do not flush keyboard buffer.
  23.   /m            = Resolve imports.
  24.   /o[Filespec]  = Make a phone line connection to a remote esp.
  25.                   (See notes regarding optional Filespec.)
  26.   /r[n]         = Remote debug:
  27.                       n=0   1    2    3    4    5     6
  28.                   speed=300 1200 2400 4800 9600 19200 38400
  29.   /an           = Which Com(Async) port. For example, /a1 uses COM1:
  30.   /s            = Don't stop at "main" entry point.
  31.   /e            = Use DosExecPgm() to start the debuggee.
  32.   /b[@]Filespec = Debug the child process specified by Filespec.
  33.                   If Filespec is prefixed with @, then debug all the
  34.                   processes specified ( one per line )in the file.
  35.   /nAname       = Remote debug over a netbios connection. Aname is
  36.                   any logical name. Use the same name on both the debug
  37.                   and the probe machine.
  38.   /x            = Disable Ctrl-Esc and Alt-Esc. If abnormal termination
  39.                   leaves Ctrl-Esc and Alt-Esc disabled, then SD386 /x
  40.                   will turn them back on.
  41.   /tname        = Remote debug over a TCP/IP connection. The name is the
  42.                   network name of the machine running the debug probe(esp).
  43.                   The name must be defined in your TCP/IP HOSTS file.
  44. Program Name      = Debuggee EXE name.
  45. Program Arguments = Arguments for the debuggee program.
  46. Notes:
  47.  FileSpec used with /o option:
  48.   Filespec is a file of AT commands that you can send to your
  49.   modem if you want to set modem options not automatically set by
  50.   SD386.
  51. ESP Ver 5.00 08/23/96
  52. Use ESP to establish a null modem or a modem connection to SD386.
  53.  Syntax:  esp [/option]
  54. OPTIONS:
  55.   /r[n]        = Remote debug:
  56.                      n=0   1    2    3    4    5     6
  57.                  speed=300 1200 2400 4800 9600 19200 38400
  58.   /an          = Which Com(Async) port. For example, /a1 uses COM1:
  59.   /o[Filespec] = Read commands in FileSpec and send to modem.
  60.                  (See notes regarding optional Filespec.)
  61.   /nAname      = Remote debug over a netbios connection. Aname is
  62.                  any logical name. Use the same name on both the debug
  63.                  and the probe machine.
  64.   /t            = Remote debug over a TCP/IP connection.
  65. Notes:
  66.  FileSpec used with /o option:
  67.   Filespec is a file of AT commands that you can send to your
  68.   modem if you want to set modem options not automatically set by
  69.   ESP.
  70.                             
  71.                             
  72.   File Pulldown  
  73.                             
  74.  Get Function...  
  75.   Locates the source file for a function.
  76.  Get Address...   
  77.   Locates an address.
  78.  Get File...      
  79.   Opens a source file.
  80.  Find Function    
  81.   Locates the source file for a function.
  82.  Find Exec Line   
  83.   Locates the current execution line.
  84.  Next File        
  85.   Gets the next file in the source file ring.
  86.  Drop File        
  87.   Drops the current file from the source file ring.
  88.  Browse File...   
  89.   Browses a file.
  90.  Restart          
  91.   Restarts the target application.
  92.  Quit             
  93.   Ends the debugger.
  94.                      
  95.                      
  96.   Get Function  
  97.                      
  98. Locates the source file that contains the definition of the
  99. function you specify and adds the source file to the ring of
  100. source files.
  101. Enter the name of the function to locate.
  102.                       
  103.                       
  104.   Get Address  
  105.                       
  106. Locates the source file and line number containing the specified
  107. address and adds the source file to the ring of files. If source
  108. is not available then a disassembly view will be shown.
  109. Enter the address you want to go to.
  110.                         
  111.                         
  112.   Get File  
  113.                         
  114. Locates the file specified looking first in the ring of files
  115. and then in the list of files linked with the /CO or /DE debug
  116. option.
  117. Enter the name of the file to locate.
  118.                       
  119.                       
  120.   Find Function  
  121.                       
  122. Locates the source file that contains the function on which the
  123. cursor is placed and adds the source file to the ring of source
  124. files.
  125.                       
  126.                       
  127.   Find Exec Line  
  128.                       
  129. This function brings the currently executing line (Exec Line) into
  130. view and places the cursor on that line.  If the cursor is already
  131. on the Exec Line, then this function will take you to the next line
  132. to be executed in the previous stack frame and place the cursor on
  133. that line.  Subsequent executions will continue to to take you to
  134. previous stack frames until you return to the Exec Line.
  135. Effectively, this function lets you walk the stack in a ring like
  136. fashion adding a file for each stack frame to the ring of files.
  137.                    
  138.                    
  139.   Next File  
  140.                    
  141. Switches to the next file in the ring of source files.
  142.                         
  143.                         
  144.   Drop File  
  145.                         
  146. If the current file does not define the currently executing
  147. procedure, then Drop file will remove the file from the ring of
  148. files.
  149.   Browse File  
  150. Loads a file for browsing.
  151. Enter the name of the file to be browsed.
  152.                       
  153.                       
  154.   Restart  
  155.                       
  156. Reloads and restarts the target application.  Breakpoints and
  157. the contents of the data window are retained.
  158.   Quit  
  159. Ends the debugger.
  160.                             
  161.                             
  162.   Run Pulldown  
  163.                             
  164.  Run                     
  165.   Runs the target program.
  166.  Single Step             
  167.   Executes the current line.
  168.  Step Into               
  169.   Steps into a function call.
  170.  Run To Cursor           
  171.   Runs up to the cursor line.
  172.  Run              NoSwap 
  173.   Runs the program, no screen swap.
  174.  Single Step      NoSwap 
  175.   Executes the current line, no screen swap.
  176.  Step Into        NoSwap 
  177.   Steps into a function, no screen swap.
  178.  Run To Cursor    NoSwap 
  179.   Runs up to the cursor line, no screen swap.
  180.  Set Exec Line           
  181.   Sets current line as the next executable.
  182.                            
  183.                            
  184.   Run  
  185.                            
  186. Runs the program until a breakpoint is hit, an exception occurs,
  187. or the end of the program is reached.
  188.                            
  189.                            
  190.   Swap  
  191.                            
  192. Sets the swap option to swap screens with the target program.
  193.                       
  194.                       
  195.   No Swap  
  196.                       
  197. Sets the swap option to not swap screens with the target
  198. program.
  199.                        
  200.                        
  201.   Single step  
  202.                        
  203. Executes the current source line (as defined by your compiler).
  204. If the current line calls other procedures, they will executed
  205. but will not be traced.  Use the "Step Into" function to trace
  206. calls to other procedures as well.
  207.                       
  208.                       
  209.   Step Into  
  210.                       
  211. Executes the current source line.  If the current line calls
  212. other procedures, they will also be traced.
  213.                       
  214.                       
  215.   Run To Cursor  
  216.                       
  217. Sets a one-time breakpoint on the line containing the cursor and
  218. executes the program.  If the cursor line is not hit during the
  219. run, a one-time breakpoint is set on the line to be hit on the
  220. next run.
  221.                         
  222.                         
  223.   Run NoSwap  
  224.                         
  225. Runs the program in the background until a breakpoint is hit, an
  226. exception occurs, or the end of the program is reached.
  227.                     
  228.                     
  229.   Single Step NoSwap  
  230.                     
  231. Executes the current source line (as defined by your compiler)
  232. in the background.  If the current line calls other procedures,
  233. they will executed but will not be traced.  Use the "Step Into
  234. NoSwap" function to trace calls to other procedures as well.
  235.                      
  236.                      
  237.   Step Into NoSwap  
  238.                      
  239. Executes the current source line in the background.  If the
  240. current line calls other procedures, they will also be traced.
  241.                    
  242.                    
  243.   Run To Cursor NoSwap  
  244.                    
  245. Sets a one-time breakpoint on the line containing the cursor and
  246. executes the program in the background.  If the cursor line is
  247. not hit during the run, a one-time breakpoint is set on the line
  248. to be hit on the next run.
  249.                    
  250.                    
  251.   Set Exec Line  
  252.                    
  253. Sets the current execution line to the line containing the
  254. cursor.
  255.  Set/Clear on Cursor          
  256.  Set Conditional on Cursor... 
  257.  Set Function Name Break...   
  258.  Set Address Break...         
  259.  Set Deferred Break...        
  260.  Set Address Load Break...    
  261.  Set DLL Load Break...        
  262.  Clear All Breaks             
  263.  Save Breakpoint File         
  264.  Restore Breakpoint File      
  265.  Edit Breakpoint File         
  266.  Hardware Debug Regs...       
  267. Sets or resets a breakpoint on the executable line selected by the
  268. cursor.  Highlighted lines denote the executable lines.
  269. Sets a conditional breakpoint on the executable line selected by the
  270. cursor.  Highlighted lines denote executable lines.
  271. Enter a conditional breakpoint expression. The form for the
  272. expression is:
  273.            <variable> <op> <constant>
  274. where
  275.            <variable> is a storage address or a variable name
  276.            <op> is <, >, ==, !=, <=, >=
  277.            <constant> is a constant expression
  278. Sets a breakpoint at a function entry using the syntax
  279. [dllname.]funcname.  If you do not dot qualify funcname and
  280. funcname is not found, then you will be given the option of
  281. deferring the breakpoint for ALL dlls.
  282. Enter the name of the function optionally dot qualified with
  283. a dll or exe name.
  284. Sets a breakpoint on a given address.
  285. Enter the address at which the breakpoint is to be set.
  286. Clears all breakpoints in the target program.
  287. Brings up the watchpoint menu allowing you to enter
  288. expressions for up to 4 watchpoints.  These watchpoints use the
  289. hardware debug registers of the Intel chip.
  290.                    
  291.                    
  292.   Set Data Breakpoint  
  293.                    
  294. Sets a hardware data breakpoint at the cursor line.  This
  295. function is currently not implemented.
  296.                          
  297.                          
  298.   Search Pulldown  
  299.                          
  300.  Find...    
  301.   Finds a specified string in the current source file.
  302.  RepeatFind 
  303.   Repeats the prevoius find command.
  304.                     
  305.                     
  306.   Find  
  307.                     
  308. Find searches the current source file for a string.
  309.                      
  310.                      
  311.   Repeat Find  
  312.                      
  313. Repeats the find command with the previous string entered.
  314.                            
  315.                            
  316.   Data Pulldown  
  317.                            
  318.  Show Var         
  319.   Shows the value of the variable at the cursor.
  320.  Show Var->       
  321.   Shows the contents of the pointer variable
  322.                   
  323.      selected by the cursor.
  324.  Watch Var        
  325.   Adds the variable to the data window.
  326.  Watch Var->      
  327.   Adds the contents of the pointer variable
  328.                   
  329.      to the data window.
  330.  Expand Var       
  331.   Expands the variable in the data expansion window.
  332.  Edit Expression  
  333.   Edits the expression.
  334.  Edit Storage     
  335.   Edits the storage displayed in the data window.
  336.  Format Var       
  337.   Shows action bar of choices for the format of
  338.                   
  339.      the display of the data.
  340.  Remove Var       
  341.   Removes a variable from the data window.
  342.  Insert           
  343.   Inserts a variable in the data window.
  344.                      
  345.                      
  346.   Show Var  
  347.                      
  348. Shows the value of the variable selected by the cursor.
  349.                      
  350.                      
  351.   Show Var->  
  352.                      
  353. Shows the contents of the pointer variable selected by the
  354. cursor.
  355.                        
  356.                        
  357.   Watch Var  
  358.                        
  359. Adds the variable selected by the cursor to the data window.
  360.                       
  361.                       
  362.   Watch Var->  
  363.                       
  364. Adds the pointer variable selected by the cursor to the data
  365. window.
  366.                         
  367.                         
  368.   Expand Var  
  369.                         
  370. Expands the view of a variable such as a member of a structure
  371. or union.  If the member is a structure or union, its components
  372. will be displayed in the expansion window.  If the member is a
  373. pointer to another structure, etc., the contents of the variable
  374. pointed to by the pointer will be displayed in the expansion
  375. window.
  376.                      
  377.                      
  378.   Edit Expression  
  379.                      
  380. Allows you to edit the expression (formula) which defines what
  381. is displayed by SD386.  One you have changed the expression,
  382. press Enter to cause SD386 to handle the expression or press Esc
  383. to leave the expression alone.
  384.                        
  385.                        
  386.   Edit Storage  
  387.                        
  388. Allows you to edit the value of the storaged displayed by SD386.
  389. Once you have changed the value, press Enter to alter the actual
  390. contents of memory or press Esc to leave the contents alone.
  391.                      
  392.                      
  393.   Format Variable  
  394.                      
  395. Formats a varible in the data window according to the format
  396. specified.  A menu will be displayed to choose default formats
  397. or enter the format type of the variable.
  398.                      
  399.                      
  400.   Remove Var  
  401.                      
  402. Removes the variable selected by the cursor from the data
  403. window.
  404.                           
  405.                           
  406.   Insert  
  407.                           
  408. Inserts the variable selected by the cursor in the data window.
  409.                          
  410.                          
  411.   View Pulldown  
  412.                          
  413.  Source         
  414.   Switches to source view.
  415.  Assembler      
  416.   Switches to assembly view.
  417.  Data           
  418.   Switches to the data window.
  419.  Data Show/Hide 
  420.   Display/Hide data window.
  421.  Timed Show App 
  422.   Shows the application screen for few seconds.
  423.                        
  424.                        
  425.   Source  
  426.                        
  427. Switches to the source view.  This option is disabled if the
  428. current view is already the source view.
  429.                        
  430.                        
  431.   Assembler  
  432.                        
  433. Switches to the assembly view.  This option is disabled if the
  434. current view is already the assembly view.
  435.                         
  436.                         
  437.   Data  
  438.                         
  439. Switches to the data window. This option is disabled if the
  440. current window is already the data window.
  441.                       
  442.                       
  443.   Data Show/Hide  
  444.                       
  445. This command toggles between showing and hiding the data window.
  446. The contents of the data window remain unchanged.
  447.                       
  448.                       
  449.   Timed Show App  
  450.                       
  451. This command shows the application screen for a few seconds. It
  452. returns back to the previous view.
  453.                      
  454.                      
  455.   Settings Pulldown  
  456.                      
  457.  Colors             
  458.   Sets colors for various screen items.
  459.  Exceptions         
  460.   Sets various exception notifications.
  461.  Assembler 
  462.  Source 
  463.   Sets type of assembly view.
  464.  Mnemonics          
  465.   Sets the disassembly option.
  466.                         
  467.                         
  468.   Colors  
  469.                         
  470. Sets the colors for the various screen areas.  You can choose
  471. colors, reset to default colors, and optionally save color
  472. settings.
  473.                      
  474.                      
  475.   Exceptions  
  476.                      
  477. Allows you choose whether to be notified or not for various
  478. processor and operating system exceptions.
  479.                   
  480.                   
  481.   Assembler 
  482.  Source  
  483.                   
  484. Sets the assembler view option.  This option toggles between
  485. mixed source/assembly and assembly only views.
  486.                        
  487.                        
  488.   Mnemonics  
  489.                        
  490. This command sets the type of disassembly.  This option toggles
  491. between Intel and AL/86 instructions.
  492.                    
  493.                    
  494.   Misc Pulldown  
  495.                    
  496.  CallStack        
  497.   List of active procedures.
  498.  Processes        
  499.   List of active processes.
  500.  Threads          
  501.   List of active threads.
  502.  Dlls             
  503.   List of dlls for the application.
  504.  Registers        
  505.   Register display.
  506.  Edit Registers   
  507.   Modify register contents.
  508.  Coprocessor Regs 
  509.   Coprocessor register display.
  510.                         
  511.                         
  512.   Call Stack  
  513.                         
  514. This command displays the list of active procedures and allows
  515. you to unwind the call stack to a selected procedure.
  516.                        
  517.                        
  518.   Threads  
  519.                        
  520. Displays the status of all active threads and allows you to
  521. examine and/or modify their current status.
  522.                           
  523.                           
  524.   Dlls  
  525.                           
  526. Displays the list of Dynamic link libraries used by the target
  527. application.
  528.                          
  529.                          
  530.   Registers  
  531.                          
  532. Displays the processor registers and their values.  This list is
  533. updated at each instruction step.
  534.                       
  535.                       
  536.   Edit Registers  
  537.                       
  538. This command allows you to edit the contents of the registers.
  539.                     
  540.                     
  541.   Coprocessor Regs  
  542.                     
  543. Displays the coprocessor registers, stack, and their values.
  544. This list is updated at each instruction step.
  545.                        
  546.                        
  547.   Help Pulldown  
  548.                        
  549.  General help        
  550.   Display general information about SD386.
  551.  Keys help           
  552.   Display the various key assignments.
  553.                  
  554.                  
  555.   Key assignments  
  556.                  
  557. SD386 provides a set of default accelerator key assignments.
  558. These accelerator keys can be used in conjunction with the mouse
  559. or by themselves to perform the SD386 functions.  The
  560. accelerator keys can be reassigned in the SD386.PRO file.
  561.                                 
  562.                                 
  563.   Colors  
  564.                                 
  565. Mouse Input 
  566. Key Input
  567.  If you want to                                  
  568.  Left Click 
  569.  Select a window/area definition                 
  570.  Move &     
  571. <- ->    
  572.  Move to next field                              
  573.  Left Click 
  574. or Tabs  
  575.                                                  
  576. <BgNext> or 
  577. Space    
  578.  Switch to next color for background             
  579.  Left Click 
  580.          
  581.                                                  
  582. <FgNext> or 
  583. Space    
  584.  Switch to next color for foreground             
  585.  Left Click 
  586.          
  587.                                                  
  588. <Default>   
  589. D        
  590.  Set all of the color selections to defaults     
  591. <Reset>     
  592. R        
  593.  Reset single color selection to default         
  594. <Save>      
  595. S        
  596.  Save current color selections to profile        
  597. <Enter>     
  598. Enter    
  599.  Accept current color selections                 
  600. <Cancel>    
  601. Esc      
  602.  Exit without any action                         
  603. <Help>      
  604. F1       
  605.  See this Help panel                             
  606. Enter the string to be searched.  Blanks are allowed in the
  607. string.
  608.                                
  609.                                
  610.   Threads  
  611.                                
  612. Mouse Input 
  613. Key Input
  614.  If you want to                                  
  615.             
  616.  Highlight a thread                              
  617. <Select>    
  618. Space    
  619.  Select highlighted thread                       
  620. <Names>     
  621. A        
  622.  Toggle state, filename, line#, and function info
  623. <Freeze>    
  624. F        
  625.  Freeze highlighted thread                       
  626. <Thaw>      
  627. T        
  628.  Thaw highlighted thread                         
  629. <Freeze All>
  630. R        
  631.  Freeze all threads                              
  632. <Thaw All>  
  633. H        
  634.  Thaw all threads                                
  635. <Enter>     
  636. Enter    
  637.  Accept current thread status                    
  638. <Cancel>    
  639. Esc      
  640.  Exit without any action                         
  641. <Help>      
  642. F1       
  643.  See this Help panel                             
  644.                               
  645.                               
  646.   Exceptions  
  647.                               
  648. Mouse Input 
  649. Key Input
  650.  If you want to                                  
  651.  Left Click 
  652.  Select an exception                             
  653.  Move &     
  654. <- ->    
  655.  Move to next field                              
  656.  Left Click 
  657. or Tabs  
  658.                                                  
  659. <Next> or   
  660. Space    
  661.  Switch to next notification option              
  662.  Left Click 
  663.          
  664.                                                  
  665. <Default>   
  666. D        
  667.  Set all exception notifications to defaults     
  668. <Reset>     
  669. R        
  670.  Reset single exception notification to default  
  671. <Save>      
  672. S        
  673.  Save exception notifications to profile         
  674. <Enter>     
  675. Enter    
  676.  Accept current exception notifications          
  677. <Cancel>    
  678. Esc      
  679.  Exit without any action                         
  680. <Help>      
  681. F1       
  682.  See this Help panel                             
  683.                              
  684.                              
  685.   Watchpoints  
  686.                              
  687. Mouse Input 
  688. Key Input
  689.  If you want to                                  
  690.             
  691.  Select a watchpoint                             
  692.             
  693. <- ->    
  694.  Tab to next field                               
  695.             
  696. or Tabs  
  697.                                                  
  698. <Size>      
  699.          
  700.  Set size of expression (1, 2, or 4 bytes)       
  701. <Scope>     
  702.          
  703.  Set scope of expression (local or global)       
  704. <Type>      
  705.          
  706.  Set access type (Write, Read/Write, or Execute) 
  707. <Status>    
  708.          
  709.  Set status (Enabled or Disabled)                
  710. <Enter>     
  711. Enter    
  712.  Put in the watchpoints                          
  713. <Cancel>    
  714. Esc      
  715.  Exit without any action                         
  716. <Help>      
  717. F1       
  718.  See this Help panel                             
  719.  - The Expression must evaluate to a size of 1,2 or 4 bytes.            
  720.  - An '*' before the address field indicates SD386 aligned address.     
  721.                              
  722.                              
  723.   Call Stack  
  724.                              
  725. Mouse Input 
  726. Key Input
  727.  If you want to                                   
  728.  Left Click 
  729.  Select a procedure                               
  730. <Get View>  
  731. Enter    
  732.  View the selected procedure                      
  733. <Run To>    
  734. Alt-Enter
  735.  Resume execution & stop at the selected procedure
  736. <Show All>  
  737.          
  738.  Unwind the call stack using a more rigorous      
  739.             
  740.          
  741.  algorithm                                        
  742. <Show Named>
  743.          
  744.  Show call stack, including only named procedures 
  745. <Cancel>    
  746. Esc      
  747.  Exit without any action                          
  748. <Help>      
  749. F1       
  750.  See this Help panel                              
  751.              
  752.              
  753.   Browse  
  754.              
  755.            Cursor down one line. 
  756.            Cursor up one line.   
  757.  PgDn        Scroll down.          
  758.  PgUp        Scroll up.            
  759.  Ctrl-PgDn   Bot of screen.        
  760.  Ctrl-PgUp   Top of screen.        
  761.  Ctrl-Home   Top of file.          
  762.  Ctrl-End    End of file.          
  763.  / or F      Find.                 
  764.  R           Repeat find.          
  765.  Esc         Leave browse.         
  766.  F1          Help.                 
  767. Any data type may be specified.  SD386 will prompt you for a
  768. type name.  The variable will be formatted as indicated by the
  769. type (char, int, long, uchar, uint, ulong, float, double, or
  770. @mytype).  "@mytype" tells SD386 to format the variable as the
  771. type of the variable "mytype."  The variable you choose must be
  772. known to SD386.  You may add an asterisk (*) after any of the
  773. types to indicate a pointer to that type.
  774. Data is shown as hex bytes.
  775. Data type is CHAR (8 bits).
  776. Data type is SHORT (16 bits).
  777. Data type is LONG (32 bits).
  778. Data type is FLOAT (32 bits).
  779. Data type is DOUBLE (64 bits).
  780. Data type is the actual data type of the variable as defined in
  781. your program.
  782.                          
  783.                          
  784.   Formula Edit  
  785.                          
  786.                                                                   
  787.  Type the new formula for this line, then press 
  788. . Press Esc to 
  789.  recover  the  old  formula  for this line. Formulas are simple C 
  790.  expressions using variable names, constants, register names, and 
  791.  the operators + - * . -> [] and :.                               
  792.                                                                   
  793.  Some example formulas are:                                       
  794.                                                                   
  795.    buffer+20    20 bytes beyond buffer.                           
  796.    ss:sp        The top of the stack.                             
  797.    *root        The data pointed to by root.                      
  798.    table[10]    The 10th element of the table array.              
  799.    node.p->id   The id field of the struct pointed                
  800.                 to by the p field of node struct.                 
  801.                                                                   
  802.  One or more * or one & may appear at the beginning of the        
  803.  formula, and is evaluated last.                                  
  804.                                                                   
  805. Enter a tag name or a typedef.
  806. Enter a number from -128 (0x80) to 127 (0x7F).
  807. Enter a number from 0 (0x0) to 255 (0xFF).
  808. Enter a number from -32768 (0x8000) to 32767 (0x7FFF).
  809. Enter a number from 0 (0x0) to 65535 (0xFFFF).
  810. Enter a number from -2147483648 (0x80000000) to 2147483647 (0x7FFFFFFF).
  811. Enter a number from 0 (0x0) to 4294967295 (0xFFFFFFFF).
  812. Enter a number like -123.456e-10 (needs work).
  813. Enter a number like -123.456e-99 (needs work).
  814. Enter the segment selector as a 4-digit hex value.
  815. Enter the segment offset as a 4-digit hex value.
  816. Enter byte data and then press Enter or Esc.
  817. Enter ASCII data and then press Enter or Esc.
  818.             Flags Register
  819. Zero flag:%1       (1 if zero result)
  820. Carry flag:%2      (1 if 2**16 carry)
  821. Sign flag:%3       (1 if sign bit on)
  822. Overflow flag:%4   (1 if signed over)
  823. Direction flag:%5  (1 if dec si/di)
  824. Parity flag:%6     (1 if even parity)
  825. Auxiliary carry:%7 (1 if 2**4 carry)
  826.   Edit Registers  
  827.                           
  828.  Esc, 
  829.     Exit regs    
  830. --,--
  831. |   Move cursor  
  832.    Move cursor  
  833.  0..9,a..f   Change reg.  
  834.                           
  835.                        
  836.                        
  837.   General Help  
  838.                        
  839. SD386 is a source-level debugger for OS/2.  It debugs programs
  840. compiled with IBM C Set/2, Microsoft C, or PL/X-86.  SD386
  841. debugs 32-bit, 16-bit, and mixed 16- and 32-bit applications.
  842. SD386 has full keyboard and mouse support.  It has a full set of
  843. accelerator keys.  It has an action bar with these pull-downs:
  844.  File        
  845.   File functions, browse, restart, & quit.
  846.  Run         
  847.   Execute the target application in various ways.
  848.  Breakpoints 
  849.   Set/clear various kinds of breakpoints.
  850.  Search      
  851.   Text string search functions.
  852.  Data        
  853.   Watch, show, expand, and edit data items.
  854.  View        
  855.   SD386 window selection.
  856.  Settings    
  857.   Colors, exceptions, assembler settings.
  858.  Misc        
  859.   Call stack, thread, DLL, and register info.
  860.  Help        
  861.   Display general and keyboard help information.
  862. You can use the mouse or keyboard to select a line in the source
  863. window.  Click the right mouse button on a line to bring up a
  864. menu of functions available for that line.  Generally, you can
  865. use the mouse anywhere you can use the keyboard.  Use the up and
  866. down arrows on the action bar to change the size of the data
  867. window.
  868.                      
  869.                      
  870.   AL/86 Mnemonics  
  871.                      
  872. Sets the disassembly to use AL/86 mnemonics.  These mnemonics
  873. coordinate with PL/X-86 assembly listings.
  874.           
  875.           
  876.   Intel Mnemonics  
  877.           
  878. Sets the disassembly to use Intel mnemonics.
  879.                        
  880.                        
  881.   Data Window  
  882.                        
  883. The data window allows you to watch simple and complex variables
  884. and view storage. You can expand complex variables into their
  885. component parts.  You can use simple C-like expressions as
  886. formulas to be watched.  You can changed the display format for
  887. any item.
  888. Think of the data window as a slate upon which you can put
  889. variable and formula names.  In that slate, you can scroll up
  890. and down, move to the beginning or end, or move by window.  You
  891. can also expand or shrink the size of the window.  You can hide
  892. the data window and redisplay it.
  893. You can edit the formulas and the displayed storage.  Use the
  894. mouse and/or the keyboard to move to the area you wish to edit.
  895. Press Enter when you've finished.
  896.                      
  897.                      
  898.   Assembler Window  
  899.                      
  900. The assembler window shows you mixed source and disassembly or
  901. disassembly only.  In this view, you can choose Intel or AL/86
  902. mnemonics.  When you single step in this view, you are stepping
  903. one disassembled instruction at a time instead of one source
  904. line at a time.  This allows you to see what is going on at the
  905. machine level.
  906. Each disassembled instruction contains the address of the
  907. instruction, the hex bytes, the disassembled instruction (in
  908. either mnemonic format), the operand(s), and the value of the
  909. storage of the operand(s) if applicable.
  910. You may wish to view or edit the contents of the registers while
  911. in the assembler window.  The Registers (S_F10) and Edit
  912. Registers items are in the Misc pulldown on the action bar.
  913.                     
  914.                     
  915.   Action Bar  
  916.                     
  917. Activates the action bar at the top of the SD386 screen.
  918.                     
  919.                     
  920.   Keys Help  
  921.                     
  922. Data type is UNSIGNED CHAR (8 bits).
  923. Data type is UNSIGNED SHORT (16 bits).
  924. Data type is UNSIGNED LONG (32 bits).
  925. Data type is LONG DOUBLE (80 bits).
  926. Do you want to exit ESP? Enter Y or N.
  927. Go to a specific source file line number.
  928. What action do you want to take?
  929.  1. Stop the debuggee.
  930.  2. Exit SD386.
  931.                          
  932.                          
  933.   Processes  
  934.                          
  935. Mouse Input 
  936. Key Input
  937.  Action                                
  938.             
  939.  Highlight a process                   
  940. <Enter>     
  941. Enter    
  942.  Give focus to the highlighted process 
  943. <Cancel>    
  944. Esc      
  945.  Exit without any action               
  946. <Help>      
  947. F1       
  948.  See this Help panel                   
  949.                     
  950.                     
  951.   MSHGET Help  
  952.                     
  953.                     
  954.                     
  955.   MSHPUT Help  
  956.                     
  957. Saves the current set of breakpoints in a file.  By default,
  958. breakpoints are stored in the current directory with a name based
  959. on the EXE that you're debugging.  For example, if you're
  960. debugging MYPGM.EXE, then the breakpoint file will be named
  961. MYPGM.BRK.  To save the breakpoints in a specific file and
  962. directory, you can specify an SD386BRK environment variable as
  963. follows:
  964. Set SD386BRK=d:\mybrks\mybrks.brk
  965. Restores a set of breakpoints from a a file.  By default,
  966. breakpoints are stored in the current directory with a name based
  967. on the EXE that you're debugging.  For example, if you're
  968. debugging MYPGM.EXE, then the breakpoint file will be named
  969. MYPGM.BRK.  To restore breakpoints from a specific file and
  970. directory, you can specify an SD386BRK environment variable as
  971. follows:
  972. Set SD386BRK=d:\mybrks\mybrks.brk
  973. You can edit a breakpoint file using an editor.  You can also
  974. start an editor session from within a debug session by defining
  975. an SD386EDITOR environment variable.
  976.  Set SD386EDITOR=e
  977. You do not have to include a .exe extension.  You can if you like, but
  978. SD386 will add it for you if it isn't there.  You can also include an
  979. explicit path if you want, but if you don't, SD386 will look along the
  980. PATH environment variable that it inherited from the session the debugger
  981. was started in.
  982. SD386 will start your editor as a child session of the debugger and the
  983. editor session will be terminated when you quit the debugger.  Some
  984. editors may not terminate when the debugger quits.  In this case, the
  985. editor refused to die when OS/2 sent a kill process signal to the
  986. editor process.  Both EPM and the System Editor will terminate when you
  987. quit the debugger.
  988. After you have edited and saved a breakpoint file, SD386 will
  989. update the breakpoints the next time you execute any of the go or
  990. step commands under the Run pulldown.  You do not have to end the
  991. edit session before the breakpoints will be updated.  But, you do
  992. have to save the file.
  993. When you're debugging PM apps and not using a remote connection to a
  994. target machine, then you'll need to use a fullscreen or window
  995. compatible editor.  Else, you'll probably hang the machine.  SD386 will
  996. force the editor into a fullscreen session.  If you inadvertently use a
  997. PM editor, then you will get a message and SD386 will not start the
  998. editor session.
  999.    { dll/exe, -----function name-------------------------------------- }
  1000.                |                            |   |      |  |         |
  1001.                |                            |    --,D--    --,COND--
  1002.                 ---filename--,--line number-
  1003.    where:
  1004.       dll/exe       = The name of the executable where you want to set the
  1005.                       breakpoint.  Path information will be ignored since the
  1006.                       path is defined by the LIBPATH environment in
  1007.                       config.sys.  The .EXE or .DLL extension is optional.
  1008.       function name = Function name where you want to set the breakpoint.
  1009.       filename      = The file name of the source file where you want to
  1010.                       set the breakpoint.  Path information will be ignored
  1011.                       since it's not used to define the breapoint.  The
  1012.                       filename MUST contain an extension, for example,
  1013.                       myapp.c.
  1014.       line number   = Line number within filename where you want to set the
  1015.                       breakpoint.
  1016.       D             = Optional parameter to specify whether or not the
  1017.                       breakpoint is deferred(D).  It is not actually used
  1018.                       except for information.  When SD386 restores a
  1019.                       breakpoint file, it checks to see if the dll/exe has
  1020.                       been loaded, and if it hasn't, then the breakpoint is
  1021.                       deferred.
  1022.       COND          = Optional breakpoint condition.
  1023. HSaving breakpoints to
  1024. HRestoring breakpoints from
  1025. HUnknown function name. Enter "Yes" to defer. It
  1026. will be hit in all dlls containing this name.To restrict
  1027. it to a specific dll use Breakpoint->Set Deferred Break.
  1028. Sets a breakpoint on a function in a dynamically loaded dll.  Use
  1029. the syntax [dllname.]funcname.  If the dll name is not specified
  1030. then the breakpoint will be hit for all dlls containing the
  1031. function name.
  1032. Enter the name of the function optionally dot qualified with
  1033. a dll name.
  1034. Break when an address gets loaded.
  1035. Break when a dll gets loaded.
  1036. Enter the load address you want to break on.
  1037. Enter the dll name that you want to break on.
  1038. Displays a list of processes being debugged.
  1039. Turn on/off the display of member functions when showing classes.
  1040. Bad Invocation Option...%1
  1041. No EXE name.
  1042. Com Port Error.
  1043. Unable to open the modem file.
  1044. Execution Services Probe(ESP) not ready.
  1045. Cannot get your modem's attention. Check the following:
  1046.  - Modem power on.
  1047.  - Modem to computer cable connection. If you're using a homemade
  1048.    cable, be sure to connect the RTS/CTS signals.
  1049.  - Modem to telephone line connection.
  1050.  - Modem is connected to the correct com port.
  1051. If all of these are ok, then try resetting the modem by
  1052. turning the power off and back on.
  1053. The modem is not responding and a connect timeout has occurred.
  1054. Check the following:
  1055.  - Modem to telephone line connection.
  1056. User Profile Error.
  1057. Cannot read SD386.PRO.
  1058. Incorrect version of SD386.PRO.  The version number on the
  1059. first line of the file must match the version number of
  1060. SD386.EXE.
  1061. Keyword Start_Of_Defs not found in SD386.PRO.
  1062. Invalid Function specified in SD386.PRO.
  1063.  "%1" at Line No %2.
  1064. Invalid Attribute specified in SD386.PRO.
  1065.  "%1" at Line No %2.
  1066. Invalid Background Color in SD386.PRO.
  1067.  "%1" at Line No %2.
  1068. Invalid Foreground Color in SD386.PRO.
  1069.  "%1" at Line No %2.
  1070. Invalid Exception Type in SD386.PRO.
  1071.  "%1" at Line No %2.
  1072. Invalid Exception in SD386.PRO.
  1073.  "%1" at Line No %2.
  1074. Invalid Key in SD386.PRO.
  1075.  "%1" at Line No %2.
  1076. Nested comments not allowed in SD386.PRO.
  1077.  Line No %1 %2.
  1078. SD386.PRO Error.
  1079. Error reading file %1.
  1080. Cannot find %1.
  1081. DosStartSession is failing with rc=%1.
  1082. The following module is contributing to the failure:
  1083. DosDebug failure trying to initialize
  1084. %1 for debugging.
  1085. Unable to initialize %1.
  1086. Error trying to get the entry point for the following file:
  1087. Too many dlls.
  1088. The debug information for the following file is corrupt.
  1089. Can't build a source or assembler view.
  1090. Invalid com port number.
  1091. Unable to open the com port.
  1092. SD386 was able to open the com port but is unable to
  1093. set the com port parameters.
  1094. %1 references an undefined structure.
  1095. Unable  to register an exception handler.
  1096. Unable to start queue. System rc=%1.
  1097. The debugger has detected a "Resource Interlock" condition and
  1098. your application has been terminated. Debugging is stopped.
  1099. The response file associated with the /b invocation option is
  1100. either corrupt or cannot be found.  The response file must be in
  1101. the current directory or specified with an explicit path.
  1102. Unable to connect to esp...%1.
  1103. Netbios has an inadequate number of ...%1...  to start this
  1104. session or probe.  Check the PROTOCOL.INI in your IBMCOM
  1105. subdirectory and look for the allocation of the appropriate
  1106. resource.  You should see some entries that look like so:
  1107.    SESSIONS = 50
  1108.    NCBS = 95
  1109.    NAMES = 21
  1110. Bump the number of ...%1... and reboot your machine.
  1111. Netbios is unable to load ACSNETB.DLL.  Typically, you will
  1112. find this dll in a subdirectory similar to C:\IBMCOM\DLL after
  1113. you've installed LAPS.  Check for the installation of LAPS and
  1114. check your LIBPATH, then try again.
  1115. You have started SD386 in a VIO window.  The process you're
  1116. debugging is a PM app.  This combination will lead to a system
  1117. hang forcing you to reboot.  It is suggested that you end this
  1118. debug session and start the debugger in a full screen session.
  1119. If you prefer to run the debugger in a window, then you might
  1120. want to consider using a netbios or async remote connection.
  1121. If you choose to use full screen sessions running on a single
  1122. machine, then you might want to consider using the /x option to
  1123. turn off ctrl-esc and alt-esc access to the desktop.  If you
  1124. use this option and the debugger abnormally terminates leaving
  1125. ctrl-esc and alt-esc disabled, then simply enter SD386 /x to
  1126. turn it back on.
  1127. Error sending AT command to modem.
  1128. Error entering phone number.
  1129. DosDebug initializion is failing with rc=%1.
  1130. SD386 is unable to open the breakpoint file:
  1131. You need to define an SD386BRK environment variable that defines the
  1132. path and file name of the breakpoint file. For example:
  1133. Set SD386BRK=d:\mybrks\myapp.brk
  1134. Or, if you don't want to use an environment variable, then you can
  1135. default to SD386.BRK in the current directory.
  1136. Unmatched comment in breakpoint file:
  1137.  file name = %1
  1138. Breakpoint syntax error in:
  1139. check for a missing "{".
  1140. HBreakpoint error: missing dll or exe name. ( Esc to return.)
  1141. HBreakpoint error: missing function or (filename,line number). ( Esc to return.)
  1142. HBreakpoint error: missing line number.( Esc to return.)
  1143. HThe function name does not exist.( Esc to return.)
  1144. HThe file name is not linked for source level debug.( Esc to return.)
  1145. H%1 ( Esc to return.)
  1146. You need to define an SD386BRK environment variable
  1147. which includes the path and filename of the breakpoint
  1148. file. For example:
  1149.  Set SD386BRK=D:\MYBRKS\MYBRK.BRK
  1150. HError writing the breakpoint file.
  1151. You need to define an SD386EDITOR environment variable.
  1152. For example:
  1153.  Set SD386EDITOR=e
  1154. SD386 is unable to access the breakpoint file editor:
  1155. Check the definition of your SD386EDITOR environment variable and if
  1156. you haven't specified a path, then modify the PATH environment variable
  1157. to make the editor accessible. Or, add an explicit path to SD386EDITOR.
  1158. Unable to start the breakpoint file editor.
  1159. DosStartSession rc=%1
  1160. You are debugging a PM app and the editor you've chosen is also a
  1161. PM app.  You need to use a fullscreen or window compatible editor
  1162. to avoid hanging the system by going to the desktop.  If you use a
  1163. window compatible editor, then SD386 will start it in a full
  1164. screen session when debugging a PM app.
  1165. If you only want to browse the breakpoint file, then use the browser
  1166. provided with SD386 by selecting File->Browse File.
  1167. %1.dll is not currently loaded.
  1168. Try setting a deferred breakpoint.
  1169. %1 was not found in %2.
  1170. Invalid breakpoint definition.
  1171. Address %1 is not loaded.
  1172. DosLoadModule is failing with rc=%1. Check LIBPATH.
  1173. The following module is contributing to the failure:
  1174. DosQueryProcAddr is failing with rc=%1.
  1175. The following procedure is contributing to the failure:
  1176. Unable to access MSHLOOP.CMD. SD386 tries to access this file as
  1177. follows:
  1178.  1. Using the MSHHOME environment variable. For example, if
  1179.     MSHHOME=D:\MSH then SD386 will look in D:\MSH\BIN.
  1180.  2. By inferring it from where MSHCALC was loaded. If MSHCALC was
  1181.     loaded from D:\MSH\DLL then SD386 will look in D:\MSH\BIN.
  1182. Cannot start MSHLOOP.CMD.
  1183. DosStartSession is failing with rc=%1.
  1184. DosLoadModule/DosQueryProcAddr is failing with rc=%1.
  1185. Unable to load the dlls necessary to run TCP/IP...
  1186.  - SO32DLL.DLL
  1187.  - TCP32DLL.DLL
  1188. You should be able to find these in the \MPTN\DLL subdirectory
  1189. on the drive where OS/2 is installed. Check your TCP/IP installation
  1190. and your LIBPATH.
  1191. TCP/IP is not running.
  1192. TCP/IP error.
  1193. You need to specify a port number in your SERVICES file.
  1194. You should be able to find this file in the \MPTN\ETC subdirectory
  1195. on the drive where OS/2 is installed. The entry should look like:
  1196.  sd386     4321/tcp
  1197. where 4321 is the port number and tcp is the protocol.  You can
  1198. use whatever port number you wish as long as there is no conflict
  1199. with other well-known services.  Simply browse SERVICES and find
  1200. an available port number. Use lower case.
  1201. You need to specify a host name in your HOSTS file.  You should be
  1202. able to find this file in the \MPTN\ETC subdirectory on the drive
  1203. where OS/2 is installed.  The entry should look like:
  1204. 9.51.136.80  clements.cv.lexington.ibm.com  elvis
  1205. where elvis is the alias for the foreign address specified by the
  1206. dotted decimal/name addresses.  Use whatever alias name you wish.
  1207. You need to start esp with the /t option.
  1208. If esp is started, then verify that the port numbers for SD386 in
  1209. the \MPTN\ETC\SERVICES file for both local and remote machines are
  1210. the same.
  1211.