home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / tpw / doc / manual.tdw < prev    next >
Text File  |  1991-05-20  |  12KB  |  294 lines

  1.                      TURBO DEBUGGER FÜR WINDOWS
  2.  
  3.  
  4. Diese Datei enthält Informationen über die Hilfsprogramme zu Turbo Debug-
  5. ger für Windows, soweit sie nicht (wie TDWINST) im Handbuch beschrieben
  6. wurden.
  7.  
  8.  
  9. Turbo-Debugger-Hilfsprogramme
  10. -----------------------------
  11.  
  12. Zu Turbo Debugger Paket gehören verschiedene Hilfsprogramme. Eines die-
  13. ser Hilfsprogramme ist TDSTRIP, mit dessen Hilfe Sie die Debug-Informationen
  14. (die Symboltabelle) aus einem Programm entfernen können, ohne das Programm
  15. neu linken zu müssen.
  16.  
  17. Des weiteren stellen wir einen allgemeinen Objektcode-Disassembler (TDUMP)
  18. vor.
  19.  
  20. Eine Liste der verfügbaren Kommandozeilenoptionen für die Programme
  21. TDSTRIP.EXE und TDUMP.EXE erhalten Sie durch Eingabe des Programmnamens ohne
  22. weitere Optionen oder Dateinamen. Wenn Sie zum Beispiel die Kommandozeilen-
  23. optionen von TDSTRIP sehen wollen, geben Sie
  24.  
  25.     TDSTRIP
  26.  
  27. ein. Das Installationsprogramm TDWINST bietet die Option -?, um sich diese
  28. Informationen auf dem Bildschirm anzeigen zu lassen.
  29.  
  30.  
  31.  
  32. TDSTRIP: Entfernen der Symboltabelle
  33. ------------------------------------
  34.  
  35. Mit TDSTRIP kann die mit der Option /v von TLINK erzeugte Symboltabelle aus
  36. einer Programmdatei entfernt werden. Diese Methode ist wesentlich schneller,
  37. als die Datei ohne die Option /v neu zu linken.
  38.  
  39. Mit diesem Hilfsprogramm können Sie die Symboltabelle auch gesondert abspei-
  40. chern, beispielsweise wenn eine ».EXE«-Datei in eine ».COM«-Datei umgewan-
  41. delt werden soll, die Symboltabelle aber trotzdem erhalten bleiben soll. Die
  42. Symboltabellen werden mit TDSTRIP in Dateien mit der Erweiterung ».TDS«
  43. gespeichert. Turbo Debugger sucht beim Laden eines Programms, das keine Sym-
  44. boltabelle hat, nach einer solchen Datei.
  45.  
  46.  
  47. Die Kommandozeile von TDSTRIP
  48.  
  49. Die allgemeine Form der DOS-Kommandozeile, mit der man das Hilfsprogramm zum
  50. Entfernen von Symboltabellen startet, lautet:
  51.  
  52.     TDSTRIP [-s] Exedatei [Ausgabedatei]
  53.  
  54. Wird die Option -s nicht angegeben, dann wird die Symboltabelle von der
  55. ».EXE«-Datei Exedatei entfernt. Ist Ausgabedatei angegeben, bleibt die
  56. ».EXE«-Datei unverändert, und Sie erhalten in Ausgabedatei eine neue Version
  57. ohne Symboltabelle.
  58.  
  59. Durch Angabe der Option -s wird die Symboltabelle in einer Datei mit dem
  60. Namen von Exedatei, aber mit der Erweiterung ».TDS«, gespeichert. Wenn
  61. zusätzlich Ausgabedatei angegeben ist, wird die Datei in Ausgabedatei
  62. gespeichert.
  63.  
  64. Wenn Sie die Option -c angeben, wird die Eingabedatei in eine ».COM«-Datei
  65. umgewandelt. Falls Sie -c zusammen mit -s verwenden, können Sie eine ».EXE«-
  66. Datei in eine ».COM«-Datei und eine getrennte ».TDS«-Symboldatei umwandeln.
  67. Damit lassen sich auch ».COM«-Dateien in Turbo Debugger mit allen Debug-
  68. Informationen untersuchen.
  69.  
  70. Ist Exedatei ohne Dateinamenerweiterung angegeben, wird als Erweiterung
  71. ».EXE« angenommen. Soweit die Option -s nicht verwendet wird, gilt dies
  72. ebenfalls für die Ausgabedatei, andernfalls erhält Ausgabedatei die Erweite-
  73. rung ».TDS«.
  74.  
  75. Es folgen einige Beispiele für TDSTRIP-Kommandozeilen:
  76.  
  77.     TDSTRIP PROG
  78.  
  79. entfernt die Symboltabelle von PROG.EXE.
  80.  
  81.     TDSTRIP -s PROG.ALT
  82.  
  83. entfernt die Symboltabelle aus PROG.ALT und speichert sie in PROG.TDS.
  84.  
  85.     TDSTRIP PROG PROG.NEU
  86.  
  87. läßt PROG.EXE unverändert, erzeugt aber eine neue Kopie mit dem Namen
  88. PROG.NEU. PROG.NEU hat keine Symboltabelle.
  89.  
  90.     TDSTRIP -s PROG SYMS
  91.  
  92. entfernt die Symboltabelle aus PROG.EXE und speichert sie in SYMS.TDS
  93.  
  94.  
  95. Fehlermeldungen von TDSTRIP
  96.  
  97. Hier finden Sie eine Aufstellung der Fehlermeldungen, die Ihnen bei der
  98. Arbeit mit dem Hilfsprogramm zum Entfernen von Symboltabellen möglicherweise
  99. begegnen.
  100.  
  101. Can't create file: ___
  102. [Kann Datei ___ nicht erzeugen]
  103. TDSTRIP konnte die Symboldatei oder die ».EXE«-Datei nicht anlegen. Entweder
  104. ist zuwenig Platz auf dem Laufwerk, oder Sie haben einen ungültigen Datei-
  105. namen angegeben.
  106.  
  107. Can't open file: ___
  108. [Kann Datei ___ nicht öffnen]
  109. TDSTRIP konnte die ».EXE«-Datei nicht finden, aus der die Symboltabelle ent-
  110. fernt werden sollte.
  111.  
  112. Error reading from input exe file
  113. [Fehler beim Lesen der ».EXE«-Eingabedatei]
  114. Während des Lesens der ».EXE«-Eingabedatei ist ein Fehler aufgetreten. Ver-
  115. mutlich liegt ein Fehler auf der Diskette vor.
  116.  
  117. Error writing to output file: ___ ;disk may be full
  118. [Fehler beim Schreiben in die Ausgabedatei ___ ; möglicherweise nicht genü-
  119. gend Speicherplatz auf der Diskette]
  120. TDSTRIP konnte die Symboltabelle oder die neue ».EXE«-Datei nicht schreiben.
  121. Das kommt vor, wenn nicht genug Platz auf der Zieldiskette frei ist. Ver-
  122. wenden Sie eine neue Diskette oder löschen Sie einige nicht mehr benötigte
  123. Dateien auf dem Ziellaufwerk.
  124. Input file is not an .exe file
  125. [Eingabedatei ist keine «.EXE»-Datei]
  126. Sie haben eine Eingabedatei angegeben, die keine ».EXE«-Programmdatei ist.
  127. Sie können nur aus ».EXE«-Programmen Symbole entfernen, da ».EXE«-Programme
  128. die einzigen Dateien sind, in denen TLINK eine Symboltabelle erzeugen kann.
  129. Programme in ».COM«-Dateien haben keine Symboltabellen und können daher mit
  130. TDSTRIP nicht verarbeitet werden.
  131.  
  132. Invalid command line option: ___
  133. [Ungültige Kommandozeilenoption ___ ]
  134. Beim Aufruf von TDSTRIP haben Sie eine unzulässige Kommandozeilenoption
  135. angegeben.
  136.  
  137. Invalid exe file Format
  138. [Fehlerhaftes Format der «.EXE»-Datei]
  139. Die Eingabedatei scheint eine ».EXE«-Programmdatei zu sein, aber die Datei
  140. ist fehlerhaft. Sie sollten das Programm noch einmal mit TLINK linken.
  141.  
  142. Not enough memory
  143. [Zuwenig Speicherplatz]
  144. Ihr System hat nicht genug freien Speicherplatz, um TDSTRIP zu laden und die
  145. ».EXE«-Datei zu verarbeiten. Das passiert nur unter sehr extremen Bedingun-
  146. gen (denn TDSTRIP braucht nur sehr wenig Speicherplatz). Sie sollten Ihr
  147. System noch einmal neu starten und den Versuch wiederholen. Sie haben vorher
  148. vielleicht ein Programm gestartet, das sich etwas Speicherplatz reserviert
  149. hat, der erst bei einem Neustart wieder freigegeben werden kann.
  150.  
  151. Program does not have a symbol table
  152. [Programm hat keine Symboltabelle]
  153. Sie haben als Eingabedatei zwar eine gültige ».EXE«-Datei angegeben, diese
  154. hat aber keine Symboltabelle.
  155.  
  156. Program does not have a valid symbol table
  157. [Programm hat keine gültige Symboltabelle]
  158. Die Symboltabelle am Ende der ».EXE«-Datei ist nicht korrekt. Das kann dann
  159. passieren, wenn Sie TDSTRIP bei einem Programm verwenden wollen, das nicht
  160. von TLINK, sondern von einem anderen Linker erzeugt wurde.
  161.  
  162. Too many arguments
  163. [Zuviele Argumente]
  164. Sie können in der TDSTRIP-Kommandozeile höchstens zwei Argumente angeben.
  165. Das erste Argument ist der Name der Programmdatei, und das zweite ist der
  166. Name der Ausgabedatei, in der die Symbole der Programmdatei gespeichert
  167. werden.
  168.  
  169. You must supply an exe file name
  170. [Sie müssen einen Namen für die ».EXE«-Datei angeben]
  171. Sie haben TDSTRIP gestartet, ohne den Namen des ».EXE«-Programms anzugeben,
  172. dessen Symboltabelle Sie entfernen wollen.
  173.  
  174.  
  175.  
  176. TDUMP: Disassembler für Objektdateien
  177. -------------------------------------
  178.  
  179. TDUMP ist ein Disassembler allgemeinster Art, der dazu dient, die Struktur
  180. jeglicher Datei zu untersuchen.
  181.  
  182. TDUMP versucht eine Datei so intelligent wie möglich aufzuteilen. Dazu geht
  183. das Programm zunächst von der Dateierweiterung aus. Wenn diese erkannt wird,
  184. werden die Bestandteile dem Dateityp entsprechend dargestellt. TDUMP erkennt
  185. ».EXE«-, ».OBJ«- und ».LIB«-Dateien. Bei jeder anderen Datei wird lediglich
  186. ein Hex-Dump ausgegeben.
  187.  
  188. Mit TDUMP kann man die interne Struktur aller Objektdateien untersuchen.
  189. Damit sehen Sie nicht nur, was in den Dateien ist, sondern lernen auch, wie
  190. diese aufgebaut sind. Außerdem kann man mit TDUMP feststellen, ob eine Datei
  191. fehlerfrei ist, da TDUMP die Erweiterung des Dateinamens benutzt, um die
  192. Dateistruktur zu überprüfen.
  193.  
  194.  
  195. Syntax von TDUMP
  196.  
  197. Die Syntax für den Aufruf von TDUMP lautet:
  198.  
  199.     TDUMP [Optionen] Eingabedatei [Ausgabedatei]
  200.  
  201. Eingabedatei ist die Datei, deren Struktur als Dump dargestellt werden soll.
  202. Ausgabedatei kann optional als Umleitung der Bildschirmausgabe in eine Datei
  203. angegeben werden (Dafür können ebenso die DOS-Umleitungsbefehle > und >>
  204. verwendet werden). Bei Optionen kann man zusätzlich einige Komman-
  205. dozeilenoptionen für TDUMP angeben. Wir besprechen diese im nächsten
  206. Abschnitt.
  207.  
  208.  
  209. Die Kommandozeilenoptionen von TDUMP
  210.  
  211. Beim Aufruf von TDUMP sind mehrere Kommandozeilenoptionen zulässig. Alle
  212. Optionen werden mit einem Bindestrich (-) oder einem Schrägstrich (/) ein-
  213. geleitet. Die beiden folgenden Beispiele sind identisch:
  214.  
  215.     TDUMP -el -v demo.exe
  216.     TDUMP /el /v demo.exe
  217.  
  218.  
  219. Die Optionen -a und -a7
  220.  
  221. TDUMP paßt die Ausgabe automatisch dem angegebenen Dateityp an (ist der
  222. Dateityp unbekannt, wird die Datei hexadezimal ausgegeben). Sie können
  223. jedoch eine ASCII-Darstellung erzwingen, indem Sie die Option -a oder -a7
  224. angeben.
  225. In einer ASCII-Datei werden der Offset und der Inhalt einer Datei mit dar-
  226. stellbaren ASCII-Zeichen wiedergegeben. Ist ein Zeichen nicht darstellbar
  227. (zum Beispiel die Control-Zeichen), wird ein Punkt ausgegeben.
  228.  
  229. Die Option -a7 funktioniert wie die Option -a. Lediglich die ASCII-Zeichen
  230. mit Werten über 128 werden in die entsprechenden 7-Bit-Äquivalente umge-
  231. wandelt. Diese für einen Datei-Dump nützliche Eigenschaft dient beispiels-
  232. weise zur Darstellung von Dateien, in denen die obere Hälfte der ASCII-Zei-
  233. chen (wie in WordStar-Dateien) als Flags verwendet werden.
  234.  
  235.  
  236. Die Optionen -e,-el und -er
  237.  
  238. Alle drei Optionen zwingen TDUMP, die Datei als ».EXE«-Datei darzustellen.
  239.  
  240. Bei einer ».EXE«-Datei werden zunächst statistische Informationen über die
  241. Datei ausgegeben. Hinter diesen folgt eine Tabelle aller globalen Symbole.
  242. Abgeschlossen wird die Ausgabe mit einer Tabelle aller Module.
  243.  
  244. Die Option -el bewirkt dasselbe wie die Option -e. Die Ausgabe der Zeilen-
  245. nummern wird jedoch unterdrückt.
  246.  
  247. Die Option -er bewirkt ebenfalls dasselbe wie -e. In diesem Fall wird jedoch
  248. die Ausgabe der Relokationstabelle unterdrückt.
  249.  
  250. Durch Angabe von -elr können Sie die Ausgabe sowohl der Zeilennummern als
  251. auch der Relokationstabelle unterdrücken.
  252.  
  253.  
  254. Die Option -h
  255.  
  256. Die Option -h bewirkt die Ausgabe der Datei im Hexadezimalformat. Das Hexa-
  257. dezimalformat besteht aus einer Spalte mit Offsets, mehreren Spalten mit
  258. Hexadezimalzahlen und den entsprechenden ASCII-Zeichen (nicht druckbare
  259. ASCII-Zeichen werden als Punkte dargestellt).
  260.  
  261. Wenn die Dateierweiterung der Eingabedatei für TDUMP unbekannt ist, wird die
  262. Datei standardmäßig im Hexadezimalformat ausgegeben, es sei denn, eine wei-
  263. tere Option erzwingt ein anderes Format.
  264.  
  265.  
  266. Die Option -l
  267.  
  268. Mit der Option -l wird die Datei als Bibliotheksdatei (».LIB«) dargestellt.
  269. Eine Bibliothek besteht aus einer Sammlung von Objektdateien. (Sehen Sie
  270. sich dazu den folgenden Abschnitt über Objektdateien an.) Bei der Ausgabe
  271. einer Bibliotheksdatei werden zuerst einige bibliothekspezifische Informa-
  272. tionen ausgegeben. Es folgen die einzelnen Objektdateien, deren Records
  273. anschließend dargestellt werden.
  274.  
  275.  
  276. Die Option -o
  277.  
  278. Die Option -o veranlaßt TDUMP dazu, die Datei als Objektdatei (».OBJ«)
  279. darzustellen. Eine Objektdatei enthält eine Beschreibung der Befehlsdaten-
  280. sätze, die zur Übergabe der Daten und Befehle an den Linker dienen. Das Dar-
  281. stellungsformat zeigt jeden einzelnen Datensatz und die dazugehörigen Daten,
  282. wobei ein Datensatz nach dem anderen dargestellt wird.
  283.  
  284.  
  285. Die Option -v
  286.  
  287. TDUMP fügt zur Verbesserung der Lesbarkeit normalerweise Beschreibungen in
  288. den Dump ein. Durch die Option -v wird die Ausgabe dieser Beschreibungen
  289. unterdrückt. Somit beeinflußt die Option -v alle Dateiformate gleichermaßen.
  290. Wenn Sie die Option -v verwenden, erfolgt die Darstellung der Dateikomponen-
  291. ten so knapp wie möglich. Sie müssen schon ein erfahrener Programmierer
  292. sein, um mit diesem Ausgabeformat etwas anfangen zu können.
  293.  
  294.