home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / MEMORIA / MEMUTL11.ZIP / MEMUTILS.DOC < prev    next >
Encoding:
Text File  |  1991-01-22  |  8.6 KB  |  199 lines

  1. ------------------------------  MEMUTILS  ---------------------------------
  2.  
  3. Shearer Cooper Computer Company
  4. Version 1.1    Jan. 22, 1991
  5.  
  6. This is a collection of utilities that can greatly assist in debugging and
  7. monitoring memory usage and memory problems in programs.
  8.  
  9.  
  10. ------------------------------ USEMEM -------------------------------------
  11.  
  12. Uses up the specified amount of memory.  This is handy for checking how your
  13. program will run on machines with less memory.  You can easily reduce the
  14. amount of memory used to 0 (remove the TSR from memory) or adjust it at
  15. any time.
  16.  
  17. Usage :
  18.    USEMEM             Say help.
  19.    USEMEM 0           Remove USEMEM from memory.
  20.    USEMEM ?           Display USEMEM status.
  21.    USEMEM m           Use up m kilobytes of memory.
  22.    USEMEM -m          Subtract m from kilobytes currently used
  23.    USEMEM +m          Add m to kilobytes currently used.
  24.                          Included mainly for completeness ; chances are good
  25.                          that due to DOS's memory scheme you won't be able
  26.                          to increase the memory used but must instead set to
  27.                          0 and then re-set to your desired value.
  28.    USEMEM !m          Use everything _except_ m kilobytes of memory.
  29.  
  30. This product uses the TesSeRact(TM) Ram-Resident Library and supports
  31. the TesSeRact Standard for Ram-Resident Program Communication.  For
  32. information about TesSeRact, contact the TesSeRact Development Team
  33. at:
  34.  
  35.      TesSeRact Development Team
  36.      c/o Chip Rabinowitz
  37.      2084 Woodlawn Avenue
  38.      Glenside, PA 19038
  39.      1-215-884-3373
  40.  
  41.      Compuserve:         70731,20
  42.      MCIMAIL:  315-5415
  43.  
  44. This MCIMAIL Account has been provided to the TesSeRact Development
  45. Team by Borland International, Inc.  The TesSeRact Development Team is
  46. in no way associated with Borland International, Inc.  TesSeRact is a
  47. trademark of the TesSeRact Development Team.
  48.  
  49.  
  50. ------------------------------ FILLMEM ------------------------------------
  51.  
  52. Fills memory with a specified value and then (optionally) runs your program.
  53. Easy way to check if your program is referencing uninitialized memory.
  54.  
  55. Usage : FILLMEM value [program [arguments] ]
  56.    Value is an integer (16-bit) value.
  57.    Value be specified in hexadecimal by starting the value with an x
  58.  
  59.  
  60. ------------------------------ MEMTEST ------------------------------------
  61.  
  62. This program runs through all of your standard DOS (640K) memory and byte
  63. by byte reads the current value then writes 0FFh, 05Ah, and 0A5h to the
  64. memory location, verifying each write, and then restores and verifies the
  65. original value.  Each byte test is performed with interrupts disabled.
  66.  
  67.  
  68. ------------------------------ WATCHMEM -----------------------------------
  69.  
  70. Usage : WATCHMEM [option(s)] [action(s)]
  71.  
  72. WATCHMEM is a TSR that watches and remembers all requests for
  73. memory (allocation, modification, and release) as well as requests
  74. for execution and termination.  This list can be then retrieved and output.
  75.  
  76. To load WATCHMEM into memory and activate it, do one of these three things :
  77.     Enter no actions at all.  WATCHMEM will have a default buffer size of
  78.        100 requests.
  79.     Enter the action 'y' (without the quotes).  Same as entering no action
  80.        at all.
  81.     Enter the # of requests to remember.  Each request remembered takes
  82.        (on the average) 12 bytes.  Number must be between 100 and 2500.
  83.  
  84.     The option letter 'e' (without the quotes) may be specified during
  85.        loading to indicate that environment space memory should be released.
  86.        This option reduces the amount of memory used by WATCHMEM but means
  87.        that programs like PCMAP and MAPMEM will not be able to determine
  88.        the name of this TSR.
  89.  
  90. Actions which can be specified together are :
  91.     n    Remove WATCHMEM from memory completely
  92.     c    Clear WATCHMEM memory allocation history
  93.     l    List remembered requests.  The option letter 't' may be
  94.             specified, in which case the time when each request was made
  95.             will also be output.
  96.     s    Suspend WATCHMEM operation (do not remember any
  97.             more requests until re-activated)
  98.     a    Re-activate WATCHMEM operation (see s option)
  99.     ?    Display WATCHMEM status (suspended or active)
  100.          In addition, the DOS return code is set as follows :
  101.            0 if active
  102.            1 if suspended
  103.            2 if not loaded
  104.  
  105. With any option you may specify the option 'q' (without the quotes) to
  106.    indicate that only error messages should be printed.
  107.  
  108. Multiple actions may be specified on a single command line, with the
  109.    following restrictions :
  110. 1. The action 'y', if specified, must be the last action on the command line.
  111. 2. To load WATCHMEM, the 'y' action must be specified.  Specifying a buffer
  112.    size is not enough if other actions are also specified.
  113.  
  114. For WATCHMEM to operate, it must be LOADED and ACTIVE.  LOADED means that
  115.    WATCHMEM has been read off disk and is residing in the memory of the
  116.    computer.  ACTIVE means that WATCHMEM has been told to remember any
  117.    memory allocation requests that occur.  SUSPENDED means that WATCHMEM is
  118.    LOADED, but has been told to ignore any memory allocation requests that
  119.    occur.  Neither ACTIVE nor SUSPENDED have any meaning if WATCHMEM has
  120.    not been LOADED.
  121.  
  122. By including WATCHMEM.OBJ in your file, you can send comments into the
  123. WATCHMEM buffer which will be output with the memory requests in correct
  124. time sequence.
  125.  
  126. IMPORTANT CAVEAT :
  127. Microsoft and other C compilers buffer memory requests by allocating large
  128. blocks from DOS and responding to program requests for memory by keeping an
  129. internal linked list of blocks.  WATCHMEM can only see the memory allocations
  130. that are handled by DOS itself.  What you will see when running WATCHMEM on
  131. a program using Microsoft C (for example) is large blocks (usually multiples
  132. of 8K) being allocated and never de-allocated until the program terminates.
  133. To see your individual blocks being allocated and freed, use _dos_allocmem
  134. (or the equivalent call for your compiler) or direct DOS interrupt calls
  135. (int 0x21, functions 0x48, 0x49, and 0x4A).
  136.  
  137. This product supports the TesSeRact(TM) Standard for Ram-Resident
  138. Program Communication.  For information about TesSeRact, contact the
  139. TesSeRact Development Team at the above address.
  140.  
  141.  
  142. ------------------------------ SHAREWARE ----------------------------------
  143.  
  144. These utilities are shareware - user-supported software.  If you use and like
  145. these utilities, please register them by sending $10 to :
  146.  
  147. SC3
  148. 14 Lena Lane
  149. Milford, MA  01757
  150.  
  151. Enclose your name, company name (if applicable), address, and CompuServe
  152. ID (if applicable).
  153.  
  154. Registration gets you the following items :
  155.    1. The satisfaction of knowing you did the right thing
  156.    2. Our undying gratitude
  157.    3. Automatic update notification
  158.  
  159. With your registration, specify if you want your update notifications by
  160. US Mail or CompuServe.
  161.  
  162. Site licenses are available at $10 for the first copy and $5 for each
  163. additional copy.
  164.  
  165. You may contact us through the US mail at the above address, or on CompuServe
  166. through Chris Shearer Cooper 76666,3026.
  167.  
  168. ------------------------------ REVISION HISTORY ---------------------------
  169.  
  170. v1.1 Jan. 22, 1991
  171. WATCHMEM : Fixed incorrect status descriptions, upgraded help
  172.  
  173. v1.0 Jan. 9, 1991
  174. Initial release, all programs
  175.  
  176. ------------------------------ LEGAL STUFF --------------------------------
  177.  
  178. We have done our best to create a set of bug-free programs (we even use
  179. them ourselves for program development), and we will of course respond
  180. reasonably quickly to bug reports and improvement suggestions, but in this
  181. lawsuit-happy age we are forced to add :
  182.  
  183. We will not be held responsible for any loss of income or livelihood, damage
  184. to property or electronic data, however caused, as the result of using any
  185. of the programs in this package.  The Shearer Cooper Computer Company
  186. disclaims all warranties, expressed or implied, including without limitation,
  187. any warranties of merchantability and of fitness for any purpose.  We assume
  188. no liability for damages, direct or consequential, which may result from the
  189. use of any of these programs.  You load these programs into your computer
  190. memory entirely at your own risk.
  191.  
  192. These programs are _not_ released into the public domain - they remain
  193. owned fully by the Shearer Cooper Computer Company and may not be distributed
  194. except as a complete package including this document file.  You may not
  195. charge a fee for the programs in this package except for nominal shipping
  196. or handling fees.  Within those limitations, feel free to distribute this
  197. package to other bulletin boards, coworkers, etc.
  198.  
  199.