home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 8 / af008.adf / Xoper / Xoper.doc < prev    next >
Text File  |  1988-06-28  |  12KB  |  365 lines

  1.                                  Xoper V1.3
  2.  
  3.                     Copyright (c) Werner Gunther 1989
  4.  
  5. Xoper is a freeware program to display and to control system activity.
  6. Permition is granted to freely distribute this program.
  7.  
  8. --------------------------------------------------------------------------
  9. Changes in V1.2:
  10. New commands: Snoop, Capture, ClrCool, ClrWarm, ClrCold.
  11. Added       : CPU usage by task.
  12.  
  13. Cancel command has been rewritten, some minor bugs removed.
  14. --------------------------------------------------------------------------
  15. Changes in V1.3:
  16. New commands: [S]=Stack usage, Sort, Hide, Hidden, Header, Window,
  17.               InputHandler.
  18. Added       : Support of startup-scripts, I/O Interrupts/second, 'Kill' an
  19.               alias for 'Cancel'.
  20. Some BIG bugs have been removed: The port-display used to GURU if more than
  21. 32 Ports did exist. The Cli Xoper has been started did act like having a
  22. priority of 128. Unlock didn't unlock sometimes, the interrupt/priority
  23. field did contain rubbish, Currentdir didn't examine all Processes.
  24. There were some more, minor bugs, all (hopefully) removed.
  25. --------------------------------------------------------------------------
  26.  
  27. Starting Xoper from CLI:
  28.  
  29. Xoper [T] [F] [S] [L] [D] [R] [E] [M] [P] [I]
  30.  
  31. These parameters are described below. For all those who like long
  32. Startup-Sequences, overcrowded memory and hot-keys enter
  33.  
  34. Xoper -b
  35.  
  36. This will install Xoper in background waiting for LeftAmiga-RightAmiga-X
  37. to pop up. In both cases you don't have to RUN or RUNBACK Xoper, it will
  38. always create its own process.
  39.  
  40. At startup Xoper loads and executes a file named S:Xoper.Startup if such a
  41. file is available. This startup-script is used to set default values, the
  42. window size or the initial default list to be displayed. The Xoper-window
  43. will only be opened after the startup-script has been processed. Look at the
  44. end of the document for a sample startup file.
  45.  
  46. Xoper Commands:
  47. ---------------
  48.  
  49.  Commands can be entered after the prompt '->', these are divided into two
  50. groups:
  51.  
  52. Display commands: These are always single character entries and may be
  53. specified in any order, upper or lower case, with or w/o embedded blanks,
  54. after the prompt or from CLI as parameters:
  55.  
  56. T = Tasks (Default if Xoper is called without parameters)
  57. Task node (HEX), Display type, status, priority (decimal), CPU usage
  58. (percent), processnumber for Dos-Processes (decimal), taskname.
  59.  
  60. F = Task Flags
  61. Task node (HEX), Allocated Signals (HEX), Signals the Task is waiting for
  62. (HEX), Signals received (HEX), Address of the next instruction to be
  63. executed (HEX).
  64.  
  65. L = Libraries
  66. Base address (HEX), open count (decimal), version (decimal), revision
  67. (decimal), flags (binary), libraryname.
  68.  
  69. D = Devices
  70. Base address (HEX), open count (decimal), version (decimal), revision
  71. (decimal), flags (binary), devicename.
  72.  
  73. E = Resident (sorry)
  74. Base address (HEX), priority (decimal), flags (binary), version
  75. (decimal), type, name.
  76.  
  77. R = Resources
  78. Base address (HEX), open count (decimal), version (decimal), revision
  79. (decimal), flags (binary), resource name.
  80.  
  81. M = Memory
  82. Lower and upper bounds (HEX), bytes free (decimal), attributes, priority
  83. (decimal), hunk name.
  84.  
  85. P = Ports
  86. Node address (HEX), portname, flags, signal bit (decimal), queue length
  87. [number of messages] (decimal), taskname.
  88.  
  89. I = Interrupts
  90. Node address (HEX), pointer to interrupt data (HEX), pointer to interrupt
  91. code (HEX), priority (decimal),type [interrupt queue the interrupt belongs
  92. to], interrupt name.
  93.  
  94. S = Stack
  95. Lower limit of the stack, stack size, currently used stacksize, taskname.
  96. If you want to minimize your stack using this utility, please note that
  97. Dos-functions use 1500 Bytes at the bottom of the Stack frame for their own
  98. purposes and note that the stacksize is only checked one time per second by
  99. this command.
  100.  
  101. H = Help ( or ?)
  102. Show a list of commands.
  103.  
  104. ; = NOP
  105. Skip this line (used for remarks in a script file)
  106.  
  107. Q = Quit
  108. Same as QUIT (see below).
  109.  
  110. Example: Entering TPM would display Tasks, Ports and Memory. The display
  111. would be updated after a few seconds (5 by default, may be changed
  112. anytime, see below.)
  113.  
  114. Other commands that do not display lists:
  115. These commands may be entered upper or lower case. Parameters enclosed
  116. in '<>' must be, enclosed in '[]' may be specified. Names are usually
  117. entered as ascii-strings, it can however happen that two or more nodes of
  118. the same name exist. On tasks you may specify the DOS-Processnumber to
  119. sort them out. If everything fails, you can enter the Node-Address with a
  120. leading '$'. This Address will be checked first before the command is being
  121. executed. If the check fails, you'll get an error message or a warning or
  122. a prompt, depending on what went wrong. Names are always the last parameter
  123. to enter. This may seem strange, but it is the simplest way to get rid of
  124. embedded blanks.
  125.  
  126. Time <seconds>
  127. Set time between updates. Minimum is 1 second, maximum is 255, default is 5
  128. seconds.
  129. Example: Time 1
  130.  
  131. Taskpri <priority> [processnumber] <taskname>
  132. Change the priority of a task. Values may range from -127 to 127, better
  133. use values between -5 and 5.
  134. Example: Taskpri 5 New Cli
  135.  
  136. Mypri <priority>
  137. Shortcut for "Taskpri Xoper <priority>"
  138. Example: Mypri 6
  139.  
  140. Pri <priority> <nodename>
  141. Change the priority of any other node. This command does not work for Tasks.
  142. If the specified node has been found, the entire list the node belongs to
  143. will be resorted.
  144. Example: Pri 1 Chip Memory        (try to allocate memory in CHIP first)
  145.  
  146. Break [processnumber] <taskname>
  147. Set break signals. Useful for tasks running in background or from Workbench.
  148. Example: Break 3 New CLI
  149.  
  150. Hunks [processnumber] <processname>
  151. Show location, BCPL-Pointers and length of memory blocks the process uses.
  152. Example: Hunks RAM
  153.  
  154. Snoop [processnumber] <taskname>
  155. Track memory allocation/deallocation of a task. Press break (CTRL-C) to
  156. stop. List includes: action (alloc/free), memory requirements (CHIP/ FAST/
  157. PUBLIC etc), memory size, memory location (start, end) and the address from
  158. where AllocMem() was called.
  159.  
  160. Files
  161. List lock, access, size and name of open files.
  162.  
  163. Locks
  164. List any lock.
  165. BUG: Trying to lock the Volume "RAM Disk" crashes the machine sometimes. If
  166. a Volume "RAM Disk" is found it will be replaced by the devicename "RAM:"
  167. (this has been fixed on WB 1.3). Make sure you don't have a disk labeled
  168. "RAM Disk" or you'll never see its locks:-)
  169.  
  170. Currentdir
  171. List current directory settings of all processes.
  172.  
  173. Devices
  174. List name,heads,sectors,tracks,startup-buffers and handler-process of every
  175. DOS-device.
  176.  
  177. Inputhandler
  178. Display node, priority and name (if any) of the input-handlers currently in
  179. use.
  180.  
  181. Capture
  182. Show vectors controlling the reset, i.e. CoolCapture, ColdCapture and
  183. WarmCapture pointers, KickMem allocations. Useful when searching
  184. for Viruses, but remember that the RAD: device in 1.3 uses the KickMem
  185. pointer to recover from a reset.
  186.  
  187. ClrCool
  188. ClrCold
  189. ClrWarm
  190. Clear one of those pointers.
  191.  
  192. Lockdrive <drivename:>
  193. Prevent DOS, Workbench and Disk-Validator from cluttering on the drive.
  194. This command isn't very useful, but I needed it myself. Please note that
  195. the drivename is case sensitive and has to end with a ':'.
  196.  
  197. Freedrive <drivename:>
  198. Re-enable a drive.
  199.  
  200. Windows
  201. List address and title of all windows.
  202.  
  203. Screens
  204. List address and title of screens.
  205.  
  206. Fonts
  207. List address,height,width,type,fist character and last character of all
  208. loaded fonts.
  209.  
  210. Windowfonts
  211. List Windows and associated fonts.
  212.  
  213. Freeze [processnumber] <taskname>
  214. Halt a Task. The task should be READY or WAITING. Frozen tasks are queued in
  215. a new list called FROZEN. When you leave Xoper, halted Task will be
  216. released.
  217. Example: Freeze Killer Graphics Task
  218.  
  219. Warm [processnum] <taskname>
  220. Restart a halted Task. Task must be FROZEN.
  221. Example: Warm Killer Graphics Task
  222.  
  223. Hide <taskname>
  224. The task-list tend to be longer than the window size. You may inhibit the
  225. output of some tasks you are not interested in using his command.
  226. Example: Hide trackdisk.device
  227.  
  228. Hidden
  229. Turn those hidden Tasks back on. It actually is a toggle.
  230.  
  231. Header
  232. Toggle the (rather long) header on the task display on/off.
  233.  
  234. Sort
  235. The tasks listing is sorted (on V1.3 and above) to avoid 'jumping' of the
  236. display. Sort toggles this feature on/off. (Stupid command, but was easy
  237. to implement).
  238.  
  239. Info <librarynode | devicenode>
  240. Show additional information stored in the lib_IdString field.
  241. Example: Info arp.library
  242.  
  243. Openlib <libraryname>
  244. Open a library. This is useful if you don't want a specified library being
  245. 'flushed' out.
  246. Example: Openlibrary arp.library
  247.  
  248. Clear [longword]
  249. Fill unused memory chunks with pattern, default is 0. Handy for debuggers.
  250. Example: Clear $66726565
  251.  
  252. Flush
  253. Clean up memory, flush unused libraries, devices and fonts.
  254.  
  255. Lastalert
  256. Show last Guru Meditation code or rubbish.
  257.  
  258. Usage
  259. Toggle CPUSE field on the task display between usage relative to all
  260. possible dispatches and usage relative to actually dispatched tasks.
  261. Ahem...not very clear I think. Well, let me try again...
  262. If you add all CPUSE fields together you get 100 % (more or less 1%). After
  263. entering "Usage" adding the fields together will give you the same value as
  264. shown in the 'CPU Activity field'. (I HATE having to write docs)
  265.  
  266. Taskports
  267. Disable / enable a listing of taskports if ports are displayed.
  268.  
  269. More
  270. Stop displaying "<MORE>" and "<RETURN>" if output exceeds window.
  271.  
  272. Window <leftedge> [toptedge [width [height]]]
  273. Works only on script files. Defines the window to be opened.
  274. Example: Window 0 0 550 190
  275.  
  276. Quit or just Q
  277. Exit Xoper. If Xoper was started with '-b' or if 'Hold' was specified it
  278. will stay in background waiting for LeftAmiga-RightAmiga-X.
  279.  
  280. Hold
  281. Exit Xoper but install a key-handler and stay in background. Window
  282. settings and display commands are saved.
  283.  
  284. Exit
  285. Clean up and quit.
  286.  
  287. !!!! WARNING: The next few commands are dangerous and 'dirty' !!!!!
  288. !!!!!!!!!!!! don't use them if not strictly necessary !!!!!!!!!!!!!
  289.  
  290. Kill [processnumber] <taskname>
  291. Kill a task or a process. If the task has been called from CLI, the Task
  292. itself and the CLI will be killed. Hunks, Windows, Screens  and the
  293. teminal-window will be freed. Simple tasks are just RemTask()'ed. If it is
  294. not a CLI Task you'll be asked if it is a Workbench task, if the answer is
  295. 'Yes' unloading will be done by the Workbench. If not, you will be prompted
  296. if Xoper should unload the code. Enter 'No' if you don't know how the task
  297. has been started.
  298.  
  299. Closewindow <title>
  300. Closes a Window. Please, use it only if the corresponding Task has been
  301. 'Cancel'ed. Use the Window-Structure address if the window has no name.
  302.  
  303. Closescreen <title>
  304. same as above, but for screens.
  305.  
  306. Unlock <lock (BPTR)>
  307. Unlock a file.
  308.  
  309. Closelib <libraryname>
  310. This is exactly the same as CloseLibrary().
  311.  
  312. CD [processnumber] <processname>
  313. Change the current directory of a process. You are prompted if the old
  314. directory lock should be unlocked.
  315.  
  316. Signal <mask> [processnumber] <taskname>
  317. Set any task-signal. Mask is a hexadecimal value with or w/o leading '$'.
  318. See task's SIGWAIT field for sensible values. Tasks normaly do not wait for
  319. signals only, but for messages, that's why this command may not have the
  320. desired effect, but it is quite useful for tasks hanging around and waiting
  321. for events that may never happen. Warning: Using Signal without any
  322. knowledge about what you are going to signal may cause a system-crash!
  323. Example: Signal 10000000 PopCLI III
  324.  
  325. ----------------------------------------------------------------------------
  326. ;Sample Startup Script (to be placed in s:Xoper.Startup)
  327. ;
  328. ; Window definition on a overscanned + PAL Workbench screen
  329. Window 122 0 550 230
  330. ;
  331. ;don't display some Tasks
  332. ;
  333. Hide CON
  334. Hide trackdisk.device
  335. ;
  336. ;but turn them on on Startup
  337. ;
  338. Hidden
  339. ;
  340. ;Change the default list to Ports
  341. ;
  342. P
  343. ;don't display any prompt if the window is full
  344. More
  345. ----------------------------------------------------------------------------
  346. I want to thank these people for helping me to debug and enhance the current
  347. Version of Xoper:
  348. Jeff White, Patrik Skottsborg, Michael Beer, Christian Balzer, Lars Soltau,
  349. Heiko Rath and Bob Page.
  350. Thanks.
  351. ----------------------------------------------------------------------------
  352. Please send flames, bug reports and especially a list of features you would
  353. like to have included in the next version to
  354.  
  355.  Werner Gunther
  356.  Wingertspfad 12
  357.  D 6900 Heidelberg
  358.  (Germany)
  359.  
  360. or to my EMAIL address for a fast response:
  361.  
  362.  G35@DHDURZ1.BITNET
  363.  
  364.  
  365.