home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / tp_util / mcblist.hlp < prev    next >
Encoding:
Text File  |  1990-06-08  |  10.7 KB  |  219 lines

  1.  
  2.     Das Programm MCBLIST zeigt diverse Informationen zur Speicherbelegung
  3.  
  4.  Tastenfunktionen :
  5.       F1 - diesen Text anzeigen
  6.       F2 - Memory Control Blocks anzeigen (Default)
  7.       F3 - Interrupt Vektoren anzeigen
  8.       F4 - Speicherkonfiguration anzeigen
  9.       F5 - Anzeige der Gerätetreiber
  10.       F6 - Anzeige der Datei C:\CONFIG.SYS
  11.       F7 - alle Fenster schließen
  12.       F8 - Erweiterte Information zu den MCBs
  13.       F9 - Memory- Dump (HEX / ASCII)
  14.      F10 - Ändern Anzeigemodus für MCB- Größe
  15.                                                  ( mehr mit Cursor abwärts )
  16. Alt Esc  - Programmende ( egal, wieviele Fenster offen sind )
  17. Shift F1 oder <Esc> - das oberste Fenster schließen
  18. Shift F5 - Restaurieren der Interrupt- Vektoren aus File MCBLIST.SAV und
  19.            Freigabe der über Save Interrupts gelegenen MCBs
  20. Shift F6 - wie Shift F5, mit Abschalten des Maus Event
  21. Shift F9 - Speichern der Interrupt Vektoren in MCBLIST.SAV
  22.  
  23.   Alt F5 - wie Shift F5 unter Umgehung der Mutterprozess- Sperre
  24.   Alt F6 - wie Shift F6 unter Umgehung der Mutterprozess- Sperre
  25.  Alt F5 / Alt F6 sind nur als absolute Notfall- Lösung zu verwenden !
  26.  
  27.  Mit den Cursortasten kann im aktuellen Fenster gescrollt werden
  28.  (wenn möglich auch horizontal)
  29.  Mit Control-Cursortasten kann die Lage,
  30.  mit Alt-Cursortasten die Größe der Fenster verändert werden.
  31.  
  32.  MCBLIST.EXE darf nicht umbenannt werden !
  33.  
  34.    Mausbedienung :
  35.    ═══════════════
  36.  Wenn ein Maustreiber neueren Datums vorhanden ist, ist ein Mauscursor zu
  37.  sehen. Dann können in den oberen 2 Bildschirmzeilen die Funktionstasten
  38.  mit einem Mausklick aktiviert werden.
  39.  Im aktiven Fenster sind die Rahmen '═' Scrollbalken zum auf- bzw. abwärts
  40.  Scrollen (linke Taste) und rechts/links Scrollen (rechte Taste).
  41.  Das Zeichen '╒' hat die HOME- Funktion, '╛' die END- Funktion.
  42.  Weitere Buchstaben, die als Tasteneingabe interpretiert werden sind '+-'.
  43.  Die rechte und linke Maustaste zusammen haben die Funktion der <Esc>- Taste.
  44.  Im DUMP- Fenster können HEX- Werte durch anklicken mit der Maus eingegeben
  45.  werden. ( Linke Taste = Segment, rechte Taste = Offset der Dump- Adresse,
  46.  mittlere Taste oder Shift- linke Taste = Segment und Offset ).
  47.  Bei Werten, die byteweise angezeigt werden ( im DUMP- Fenster 2-stellig ), 
  48.  muß entsprechend der INTEL Low/High- Notation des Prozessors das Lowbyte 
  49.  angeklickt werden.
  50.  Das DUMP- Fenster wird automatisch aktiviert, wenn auf einem HEX- Digit ein
  51.  Mausklick erfolgt.
  52.  
  53.    Kommandozeilenparameter :
  54.    ═════════════════════════
  55.    Parameter können mit oder ohne führendem '-' oder '/' eingegeben werden,
  56.    Groß- Kleinschreibung ist nicht relevant.
  57.  MCBLIST ? = Anzeige dieses Textes
  58.  MCBLIST M = Anzeige Interrupt- Vektoren
  59.  MCBLIST S = Speichern Interrupt- Vektoren
  60.  MCBLIST R = Restaurieren Interrupt- Vektoren
  61.  MCBLIST RM = wie MCBLIST R mit Abschalten des Maus- Event- Interrupt
  62.  MCBLIST R, RM oder S läßt sich auch aus Batchfiles benutzen.
  63.  
  64.    Interrupt Vektoren speichern :
  65.    ══════════════════════════════
  66.  Mit diesem Kommando werden die Interrupt- Vektoren $00..$CF im File
  67.  MCBLIST.SAV im Directory von MCBLIST.EXE gespeichert.
  68.  Zusätzlich wird der letzte MCB (ggf. auch über dem Video- Adapter)
  69.  gespeichert - diese Adresse wird in der Liste mit
  70.   <─────  save Interrupts  ─────>   bzw.
  71.   <─────  save Interrupts (jenseits)  ─────> markiert.
  72.  Residente Programme, die hinter dieser Marke geladen sind, können
  73.  durch Restaurieren der Interrupt- Vektoren aus dem Speicher entfernt
  74.  werden.
  75.  Soll ein Programm entfernt werden, das den Maus- Event- Interrupt nutzt
  76.  (z.B. ein Mausmenü- Programm), muß UNBEDINGT der Maus- Event deaktiviert
  77.  werden ! ( MCBLIST RM oder <Shift-F6> statt <Shift-F5> )
  78.  Der Maus- Event- Vektor ist für MCBLIST leider nicht immer sichtbar.
  79.  
  80.    Interrupt Vektoren restaurieren :
  81.    ═════════════════════════════════
  82.  Die Interruptvektoren können nur restauriert und die Programme nach SAVE
  83.  INTERRUPS freigegeben werden, wenn bei diesem Vorhaben nicht der Mutter-
  84.  prozess von MCBLIST betroffen ist. Der Mutterprozess könnte z.B. ein
  85.  nach dem SAVE INTERRUPTS geladener COMMAND oder NORTON COMMANDER sein.
  86.  
  87.  Nach Freigabe von MCBs sind diese bis zum Verlassen des Programms
  88.  noch vorhanden und auch auf dem Bildschirm zu sehen.
  89.  Nach Beenden des Programms räumt MSDOS aber mit ihnen auf.
  90.  
  91.    Anzeige der Memory Control Blocks :
  92.    ═══════════════════════════════════
  93.  Unter MCB wird die Adresse des MCB angezeigt, unter PSP die Adresse des
  94.  Programm Segment Prefix, zu dem der MCB gehört.
  95.  Mehrere MCBs können auf einen PSP verweisen.
  96.  Im Allgemeinen existiert für jedes Programm ein MCB für das Environment
  97.  und ein MCB für das Programm selbst.
  98.  Der Environment- MCB hat nur wenige Bytes Länge - abhängig von der Größe
  99.  der ENVIRONMENT- Variablen und seines eigenen Programmnamens ( incl.
  100.  Suchpfad). Im Environment kann der Programmname gefunden werden, im PSP
  101.  die Kommandozeile.
  102.  Ausnahmen bilden Environments für Batchfiles (meistens 48 Bytes groß).
  103.  Ein Programm kann auch sein Environment freigeben, dann wird dies
  104.  vom Environment des nächsten geladenen Programms überschrieben.
  105.  Außerdem kann ein Programm zusätzliche MCBs anfordern, für dynamisch
  106.  verwaltete Treiber oder Pufferspeicher. (Ächt ätzend)
  107.  
  108.  Der vom DOS belegte Speicherplatz besitzt keinen MCB.
  109.  Der MCB mit PSP- Adresse 8 markiert den Speicherplatz, der von CONFIG.SYS
  110.  für Buffer, Stacks, FCBs und SYS- Files belegt wird.
  111.  Bei Nutzung des Speichers hinter dem Video- Adapter können eventuell auch
  112.  2 MCBs mit PSP- Adresse 8 existieren.
  113.  Der letzte MCB markiert den freien Speicher.
  114.  Bei Nutzung des Speichers hinter dem Video- Adapter ist natürlich auch vor
  115.  dem Video- Adapter freier Speicher zu sehen.
  116.  Der MCB vor dem freien Speicher enthält das aktuelle Environment und somit
  117.  den Pfad und Programmnamen von MCBLIST.EXE
  118.  Weiterhin existiert ein Ur- Environment mit der Größe, die im SHELL =
  119.  Kommando in CONFIG.SYS angegeben wurde.
  120.  Der erste COMMAND.COM (falls mehrere existieren ist das interessant) ist
  121.  mit '<1>' gekennzeichnet.
  122.  
  123.  Ist PSP = 0, ist der Zugehörige Speicherblock freigegeben, das ist
  124.  auch mit Videoattribut Dunkelgrau markiert.
  125.  Bei Environments wird der Programmname angezeigt.
  126.  Bei PSPs wird die Kommandozeile eingeschlossen in '≥≤' angezeigt
  127.  Die Anzeige '≥φ≤' zeigt eine ungültige Kommandozeile an.
  128.  Mit '≡' wird ein Batchfile markiert
  129.  Die hellen Zahlen sind die aktuellen Interrupt- Vektor- Nummern (HEX), die
  130.  in den entsprechenden Speicherblock zeigen.
  131.  Blau unterlegt sind Unterschiede zum gespeicherten Zustand und grün mit
  132.  schwarzem Hintergrund sind die Vektoren beim Speichern.
  133.  
  134.  Der SHUTDOWN- Pointer wird als 'SDP' angezeigt.
  135.  Der MODE- Vektor wird als 'MODE' angezeigt.
  136.  Der MODE- Vektor wird vom residenten MODE.COM zur Ausgabeumleitung benutzt
  137.  Programme, die den MODE- Vektor auf sich umgeleitet haben, sollten nicht
  138.  freigegeben werden !
  139.  
  140.  Nach der Länge wird eingeschlossen in '[]' ein eventuell vorhandener Text
  141.  angezeigt, der im MCB gefunden wurde.
  142.  
  143.  Die Anzeige !!!!! im letzten MCB fehlen nnn Bytes !!!!! weist darauf hin,
  144.  daß sich ein Programm am Ende des Speichers versteckt hat - Vorsicht !
  145.  Bei Speicher <= 640k Bytes wird eine Warnung gegeben, wenn die Speicher-
  146.  größe kein ganzzahliges Vielfaches von 64k Bytes ist, immer, wenn die
  147.  Speichergröße kein ganzzahliges Vielfaches von 32k- und 16k Bytes ist;
  148.  in diesem Fall vermute ich ein verstecktes Virus.
  149.  Die Meldung !!!!! Speichergröße ist kein Vielfaches von 64k !!!!! ist bei
  150.  PS/2- Systemen und bei einigen Plattencontrollern normal, solange kein 
  151.  SAVE- File existiert, weil diese immer Speicherplatz vom Systemspeicher 
  152.  abzweigen. Erscheint diese Warnung trotz bestehenden SAVE- Files, ist wirk-
  153.  lich etwas faul !
  154.  
  155.    Interrupt Vektoren Anzeigen :
  156.    ═════════════════════════════
  157.  Hintergrund Blau   : seit Save veränderte Vektoren
  158.  Schrift Dunkelgrau : Vektor = NIL
  159.  Schrift Hellgrau   : Vektor zeigt ins BIOS
  160.  andere Farben dienen nur zur Unterscheidung ungleicher aufeinander-
  161.  folgender Adressen.
  162.  ! hinter dem Vektor markiert, daß er auf IRET zeigt.
  163.  * hinter dem Vektor zeigt an, daß er vom BIOS als illegaler Interrupt 
  164.  behandelt wird ( falls diese Anzeige funktioniert ).
  165.  
  166.  Bei Nutzung von Speicher über dem Video- Adapter ist es bei den meisten
  167.  NEAT BIOS Varianten möglich, im Segment F000 32k Speicher zu verwenden.
  168.  Trotzdem haben die Interrupt- Vektoren das Segment F000 !
  169.  
  170.    Speicherbelegung Anzeigen :
  171.    ═══════════════════════════
  172.  Die Speicherbelegungsanzeige zeigt bei Nutzung von Speicher oberhalb des
  173.  Video- Adapters als (BIOS) einen höheren Wert als (SETUP).
  174.  
  175.  Ist ein HIMEM- Treiber installiert, wird angezeigt :
  176.  HMA - der Speicher über 1 MB, der im REAL-MODE verfügbar ist.
  177.  XMA - Extended Memory, das für den HIMEM- Treiber verfügbar ist
  178.   (hier sind schon die Werte für RAMDISK, CACHE und ähnliches abgezogen).
  179.  UMA - Speicherbereich in den Segmenten $0A000..$0F000
  180.   ( falls der Treiber diese Funktion unterstützt ).
  181.  
  182.  Bei vorhandenem EMS- Treiber werden die Version, die Pageframe- Adresse,
  183.  der gesamte und der verfügbare EMS- Speicher angezeigt.
  184.  
  185.  Die Anzeige des Extended RAM zeigt den über INT 15H ermittelten Wert; der
  186.  Wert kann bei vorhandenem HIMEM- Treiber manchmal 0 sein, obwohl Extended
  187.  RAM frei ist. In jedem Fall sind eventuell vorhandene RAMDISKs und CACHE-
  188.  Speicher vom Totalen Extended RAM abgezogen.
  189.  
  190.  MCBLIST kann keine Adresskonflikte im Extended RAM erkennen !
  191.  
  192.  Die Anzahl verfügbare File- Handles kann 20 nicht überschreiten, auch wenn
  193.  andere Programme bei FILES = >20 in CONFIG.SYS eventuell mehr Filehandles
  194.  verwalten können.
  195.  
  196.  Die Speicherbelegung A000..F000 zeigt in 16-k Blocks an, wo in diesem
  197.  Speicherbereich RAM, BIOS- EPROMs und die EMS- Pageframe erkannt wurden.
  198.  Bei NEAT- Boards kann BIOS auch im RAM liegen; RAM wird natürlich nur dort
  199.  erkannt, wo der Schreibzugriff erlaubt ist.
  200.  'undefin.' zeigt an, daß an dieser Adresse kein definierter Wert aus dem
  201.  Speicher gelesen werden kann.
  202.  
  203.  Es werden auch Informationen zum evtwl. vorhandenen Maustreiber angezeigt.
  204.  
  205.  Noch einige kleine Hinweise :
  206.  MCBLIST braucht SEHR viel Speicher - wenn alle Fenster offen sind, 
  207.  deutlich über 200k Bytes.
  208.  Wenn Sie MCBLIST neu compilieren, fügen Sie anschließend mit 
  209.  ADDTEXT MCBLIST MCBLIST.HLP 
  210.  das Helpfile an MCBLIST.EXE an, dann muß MCBLIST.HLP nicht auf demselben
  211.  Directory wie MCBLIST.EXE sein.
  212.  Wenn Sie MCBLIST.HLP verändern, werden die Änderungen natürlich auch nur
  213.  nach dem ADDTEXT angezeigt.
  214.  Zum Compilieren von MCBLIST müssen alle UNITs im FAR- Model compiliert
  215.  werden - den ersten Absturz wegen nichtberücksichtigung dieser Tatsache 
  216.  habe ich schon hinter mir.
  217.  
  218.  --- diesen Text nicht länger als 249 Zeilen machen ! ---
  219.