home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / windows / x / 19089 < prev    next >
Encoding:
Internet Message Format  |  1992-11-13  |  4.5 KB

  1. Path: sparky!uunet!know!cass.ma02.bull.com!mips2!news.bbn.com!usc!zaphod.mps.ohio-state.edu!cs.utexas.edu!ut-emx!slcs.slb.com!leo.asc.slb.com!sjsca4!rod
  2. From: rod@sj.ate.slb.com (Rod Armstrong)
  3. Newsgroups: comp.windows.x
  4. Subject: Some unofficial enhancements to the UPS debugger.
  5. Keywords: UPS, X, SPARC
  6. Message-ID: <1992Nov13.001355.18100@sj.ate.slb.com>
  7. Date: 13 Nov 92 00:13:55 GMT
  8. Reply-To: rod@sj.ate.slb.com (Rod Armstrong)
  9. Organization: Schlumberger Technologies, San Jose, CA.
  10. Lines: 91
  11.  
  12. I have made some UNOFFICIAL enhancements for the UPS 2.45 debugger. 
  13. The changes are small and in some cases specific to a Sun SPARC workstation 
  14. running X, but they can significantly increase the ease of use.
  15.  
  16. To use many of the following features, you need to run the debugger 
  17. from the foreground in an xterm, i.e. "ups program".
  18. In the following, LMB means Left Mouse Button and MMB means Middle
  19. Mouse Button.
  20.  
  21. 1)  The contents of a contiguous address space can be examined in 
  22.     Hex, Decimal and Ascii by typing in the command "hex-address num_bytes" 
  23.     in the top line. If "num_bytes" is not specified, it defaults to 4. 
  24.     Information is grouped as 4 bytes per line. An example is 
  25.     "0xeffff4b8 20". Stack variable names are printed in the left 
  26.     part when possible.
  27.  
  28. 2)  The display of a selected object in the top window can be 
  29.     printed to the xterm with the F1 key. If the object is expanded, the
  30.     data is written out in expanded form, conversely if it is compressed, 
  31.     only the compressed representation is printed. If just a subsection of
  32.     a structure is highlighted, just that part is printed. The data printed
  33.     is not affected by the viewport of the top window - data that is 
  34.     scrolled out of view will still be printed.
  35.  
  36.     Note that line trunctation does not occur in the xterm as it does in 
  37.     the ups window. So selecting, for example, "PATH" in the Environment 
  38.     section will print out as many lines as necessary.
  39.  
  40. 3)  The complete contents of the top window can be printed with the F2 key.
  41.  
  42. 4)  Easier to use editing keys are available:
  43.  
  44.     Left-arrow  (R10) and ^B both move the marker bar left one character 
  45.     (same as ^H)
  46.  
  47.     Right-arrow (R12) and ^F both move the marker bar right one character 
  48.     (same as ^L)
  49.  
  50.     Up-arrow    (R8) inserts the X selection (same as SHIFT LMB)
  51.  
  52. 5)  New editing keys available:
  53.  
  54.     ^A goes to the beginning of line.
  55.     ^E goes to the end of line.
  56.     ^K deletes characters from the right of the marker bar to the end of line.
  57.  
  58. 6)  When typing in a breakpoint, pressing ESC does partial name completion
  59.     whenever possible. So if a program has just two routines, "process_key()" 
  60.     and "process_cmd()", typing "p" then ESC will expand the line to "process_"
  61.     and in the third line will be a message like 
  62.  
  63.     `process_' matches `process_key' and `process_cmd'.
  64.  
  65.     Then typing "k" then ESC will complete the line to "process_key"
  66.  
  67. 7)  When editing breakpoint code, multi-line X selections can now be pasted
  68.     in. Previously the paste terminated at one line.
  69.  
  70. 8)  The function keys F3 through F12 can be used to insert strings
  71.     defined by environment variables of type "UPS_F*_STR" where "*" is 
  72.     3 through 12. As an example, for UIF tools it is often nice to be able
  73.     to selectively turn synchronization on and off in breakpoint code. To
  74.     do this, put the following in your environment:
  75.  
  76.     setenv UPS_F3_STR "XSynchronize(display,1);"
  77.     setenv UPS_F4_STR "XSynchronize(display,0);"
  78.  
  79.     Then F3 will insert "XSynchronize(display,1);" and F4 will insert
  80.     "XSynchronize(display,0);".
  81.  
  82. 9)  In the source window, whole lines can now be made into an X selection.
  83.     Pressing CTRL-LMB makes the line at the cursor available for pasting.
  84.     This applies to both source code and breakpint code. Multi-line
  85.     selection is not yet possible, and there is no visual indication
  86.     of the selection, other than the prior X selection will be deselected.
  87.  
  88. 10) Similarly, a line in the source window can be printed by pressing 
  89.     CTRL-MMB over it.
  90.  
  91. 11) You can now do a search for text in the top window. This makes use 
  92.     of the output window at the bottom of the debugger that the breakpoint 
  93.     function "$printf()" uses. The window is created if it does not already 
  94.     exist. Just type the search string in the typing line at the top of the 
  95.     debugger, and press ^S. This dumps all the text in the top window to 
  96.     the bottom window. Then use the search button to do a regular expression 
  97.     search in either direction.
  98.  
  99. If anyone is interested, I'll mail the diffs.
  100.  
  101. Rod Armstrong
  102. rod@sj.ate.slb.com
  103.