home *** CD-ROM | disk | FTP | other *** search
/ TopWare Tools / TOOLS.iso / tools / top1089 / files1.lzh / KILLDLL.DOC < prev    next >
Encoding:
Text File  |  1993-11-29  |  3.5 KB  |  94 lines

  1.  
  2.  
  3.  
  4.                             The DLL Killer
  5.  
  6.                              version 1.1
  7.  
  8.  
  9.                     A utility for Windows programmers
  10.  
  11.                                  by
  12.  
  13.                       Patrick Philippot, France
  14.  
  15.                          CIS : 72561, 3532
  16.  
  17.  
  18.                        Public Domain Software
  19.  
  20.  
  21.  
  22.          WARNING!! WARNING!! WARNING!! WARNING!! WARNING!! WARNING!!
  23.  
  24.          This program is definitely not intended for end-users. It's a
  25.     debugging aid that should be used only by programmers and technical
  26.     support people.
  27.  
  28.  
  29.          KillDLL is a small utility that I have written for my own needs
  30.     and that may be useful to you. Here it is, free of charge and for use
  31.     at your own risk.
  32.  
  33.  
  34.          Why a DLL killer?
  35.  
  36.          While writing the E! for Windows API (E! for Windows is a text
  37.     editor that we recently released as a shareware), I frequently found
  38.     myself with a main program (E!) that had hung because of a bug in the
  39.     extension DLL I was currently debugging.
  40.  
  41.          So, the program terminated abnormally and could not unload all
  42.     the other extension DLLs it had loaded. The next time I wanted to run
  43.     E!, all these DLLs were still there and their initialization code was
  44.     not executed (it is executed only once when the DLL are first
  45.     loaded). This is of course a rather unsafe situation because E!
  46.     extension DLLs very often need to communicate with the running copy
  47.     of E! when they are installed. The only way to return to a safe
  48.     situation was to exit Windows and to launch it again.
  49.  
  50.          I think this or similar situations can happen to you. That's why
  51.     I decided to make this small program available.
  52.  
  53.          KillDLL allows you to unload an orphaned DLL without having to
  54.     exit Windows. An orphaned DLL is a DLL that has a non-zero usage count
  55.     but that is not likely to be unloaded by a call to FreeLibrary because
  56.     no further application is aware of it.
  57.  
  58.          Run KillDLL. It will show you a small dialog box where all the
  59.     currently loaded DLLs are listed. Unlike other similar programs,
  60.     KillDLL shows you only the DLLs, not the other code modules. Select
  61.     the DLL you want to unload (you may select multiple DLLs) and click
  62.     on the "Kill" button. A warning message will be issued for each
  63.     unloaded DLL if "Confirm On Delete" is checked. Click OK if you
  64.     maintain your decision. The DLL list will be automatically refreshed.
  65.  
  66.          You can unload ANY DLL in the system. So, be sure of what you're
  67.     doing. You can even unload KERNEL! The result will be an immediate
  68.     exit from Windows.
  69.  
  70.          KillDLL uses the FreeLibrary API to unload the DLL. So, the DLL
  71.     exit procedure will always be executed.
  72.  
  73.          KillDLL uses undocumented information to be able to separate
  74.     DLLs from other modules. Thanks to "Undocumented Windows", the famous
  75.     book written by Schulman, Maxey and Pietrek. Be aware that this
  76.     program may not work with future versions of Windows.
  77.  
  78.          KillDLL is a Public Domain software and nobody is allowed to
  79.     charge any amount of money for distributing this program.
  80.  
  81.          If you want any information about our E! editor for Windows
  82.     please contact me on Compuserve [72561,3532] or fax your request to:
  83.  
  84.      Juergen Egeling Computer
  85.      Werderstr. 41, 76137 Karlsruhe, Germany.
  86.      Tel: (0721) 373832
  87.      Fax: (0721) 373842
  88.  
  89.  
  90.     Have fun!
  91.  
  92.     Patrick Philippot
  93.     08/13/93
  94.