AminetAminet
Search:
84799 packages online
About
Recent
Browse
Search
Upload
Setup
Services

dev/debug/Vivid.lha

Mirror:Random
Showing: m68k-amigaos iconppc-amigaos iconppc-morphos iconi386-aros iconi386-amithlon iconppc-warpup iconppc-powerup icongeneric icon
No screenshot available
Short:Trace the origin of memory flushes.
Author: andrew.ab2000 at bigfoot.com (Andrew Bell)
Uploader:andrew ab2000 bigfoot com (Andrew Bell)
Type:dev/debug
Architecture:m68k-amigaos
Date:1999-10-22
Requires:AmigaOS 3.0 or better.
Download:dev/debug/Vivid.lha - View contents
Readme:dev/debug/Vivid.readme
Downloads:608

Visit my homepage at: http://www2.prestel.co.uk/ab2000 

------------------------------
 Introduction
------------------------------

 Vivid is a simple tool (much like Enforcer) that allows the user to monitor
 the origin of memory flushes. This tool is really for the advanced Amiga
 user, but can be used by anyone who is curious about what task or process
 is flushing the memory.

 It does this by installing a dummy low memory handler onto the system. So
 every time a memory allocation fails (i.e. AllocMem() or AllocVec() returns
 a NULL), the system will attempt to flush as much memory as possible by
 traversing the list of installed low memory handlers, calling each of them.
 When the dummy handler installed by Vivid is called, it will collect as
 much information about the task that triggered the flush, then print this
 information to the Shell window.

 Typically, a program flushes the memory by calling AllocMem(~0,MEMF_ANY)
 or similar.

 The full C source code has been included for the curious.

------------------------------
 DISCLAIMER
------------------------------

 FOR THE PURPOSE OF THIS DISCLAIMER, "SOFTWARE" REFERS TO ALL THE FILES
 PROVIDED IN THE ORIGINAL ARCHIVE DISTRIBUTED BY THE AUTHOR.

 THIS DISCLAIMER APPLIES TO ALL WHO USE THIS SOFTWARE.

 THE AUTHOR HAS DONE HIS BEST TO ENSURE THAT THIS SOFTWARE IS FREE FROM
 DEFECTS, ALTHOUGH THE AUTHOR CANNOT GUARANTEE THIS. THE AUTHOR HEREBY
 REJECTS ANY LIABILITY OR RESPONSIBILITY FOR THESE OR OTHER CONSEQUENCES
 FROM THE USE OF THIS SOFTWARE. THIS INCLUDES, BUT IS NOT LIMITED TO,
 DAMAGE TO YOUR EQUIPMENT, TO YOUR DATA, TO OTHER COMPUTERS / DEVICES
 YOUR COMPUTER IS CONNECTED TO, PERSONNAL INJURY, FINANCIAL LOSS OR OTHER
 EFFECTS.

 THIS SOFTWARE IS PROVIDED AS-IS. THIS MEANS THE AUTHOR CANNOT GUARANTEE
 THAT IT IS FIT FOR ANY SPECIFIC PURPOSE AND THE AUTHOR DOES NOT GUARANTEE
 BUG FIXES, UPDATES OR HELP DURING ERROR RECOVERY.

 (After all, you did get it for free!)

------------------------------
 Distribution
------------------------------

 This software is emailware, which means that this archive can be freely
 distributed provided it's components are not altered or deleted by anyone
 other than the copyright holder (Andrew Bell). It also means if you use
 the software often you should send the author an email with some feedback.

 Distribution via diskette, CD-ROM or other electronic medium is allowed
 provided that the archive is distributed in it's original state, and that
 the end user is not charged for this software (although you are allowed to
 charge them for the medium it is supplied on, this cost must not exceed £5
 UK pounds).

 If you are going to distribute this software via a magazine cover mounted
 medium, I recommend that you contact the author for the latest version of
 the software. The address is provided below.

------------------------------
 Usage
------------------------------

 To start Vivid, run it from a Shell window. That's all you need to do, no
 complicated Shell paramteres are required. The next time something attempts
 to flush the memory, the following information will be dumped to the Shell
 window:

 ·The number and date of the memory flush.
 ·The task pointer and name of the task that triggered the flush.
 ·The size of memory requested (Taken from the MemHandlerData structure).
 ·The flags for the requested memory (also from the MemHandlerData
  structure).
 ·The flags for the MemHandlerData structure itself.

 Here is an an example of the output:

 (START OF EXAMPLE)

 Vivid 1.0 (20.10.99), Copyright © 1999 Andrew Bell. All rights reserved.
 Vivid has been installed. Press `Control + C' to break out.

 A memory flush has been detected (no. 001) : Wednesday 20-Oct-99 01:23:58
 Low mem handler was triggered by task: 0x785C50B8 (FlushTest)
 memh_RequestSize  = 0xFFFFFFFF
 memh_RequestFlags = 0x00010002 (MEMF_CHIP, MEMF_CLEAR)
 memh_Flags        = 0x00000000 (No flags given)

 (END OF EXAMPLE)

 The last three line that start with memh_* will only be of use to
 programmers. It show the information that was passed via the MemHandlerData
 parameter when the dummy handler was called.

------------------------------
 Options
------------------------------

 PRIORITY/N

  This option allows you to specify the priority of the dummy memory
  handler, that is installed by Vivid. If this parameter is not provided,
  Vivid will default to a priority of 25.

 REQ/S

  Tell Vivid to force it's output to a requester instead of using the
  Shell. Warning, this option is quite annoying. :)

------------------------------
 Limitations
------------------------------

 Vivid will only be able to catch memory flushes that are triggered via
 exec.library's low memory handlers. It will not work with tasks that
 manually traverse the system library list (etc.), calling the Expunge()
 vector of each one.

 To be absolutely safe, you should *NOT* keep Vivid running in the back-
 ground *ALL THE TIME*. It's only for debugging purposes. So don't be
 installing it into your user-startup or startup-sequence, unless you know
 what you're doing.

------------------------------
 Copyright
------------------------------

 This program and all related files are Copyright © 1999 Andrew Bell.
 All rights reserved.

 This program is EMAILWARE, if you use it often, please send the author an
 email (my email address is provided below).

 Feal free to send suggestions or ideas on how I could improve this program.

 Thanks.

------------------------------
 The author
------------------------------

 My name is Andrew Bell, and I can be contacted via electronic mail at
 andrew.ab2000@bigfoot.com.

 You can also visit my webpage at: http://www2.prestel.co.uk/ab2000 for
 the latest updates of this program and to see my other work.

 Enjoy! :) Andrew.


Contents of dev/debug/Vivid.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO     CRC       STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                 3896   12996  30.0% -lh5- 4d5e Oct 20  1999 Vivid/src/Vivid.c
[generic]                  198     466  42.5% -lh5- cb4c Oct 20  1999 Vivid/src/Vivid_rev.h
[generic]                 5098    8176  62.4% -lh5- f00c Oct 20  1999 Vivid/Vivid
[generic]                 2670    6009  44.4% -lh5- abd0 Oct 20  1999 Vivid/Vivid.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         4 files   11862   27647  42.9%            Oct 21  1999
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>