Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Otscho Super JLI'ler
Alter: 36 Anmeldedatum: 31.08.2006 Beiträge: 338 Wohnort: Gummibären-Gasse Medaillen: Keine
|
Verfasst am: 02.11.2007, 13:02 Titel: Effizient Debuggen |
|
|
Hi,
Ich bin gerade fleißig am Coden. Einiges hab ich bereits schon fertig gestellt, doch haben sich mit der Zeit auch zahlreiche Fehler eingeschlichen. Ich hab auch schon des öffteren den Debugger drüberlaufen lassen (der im VC++), doch irgendwie werd ich mit der Ausgabe nicht schlau. Ich versteh weder was von assembler noch kann ich mit der Tatsache, dass mein Programm ein Heap block at 00DB2B08 modified at 00DB2B2E past requested size of 1e hervorruft wirklich etwas anfangen. Kann mir ein erfahrener Debbuger (gemeint: die Person nicht das Programm), mal ein paar Tipps geben wie ich einfach und schnell herausfinden kann, wo und weshalb ein Fehler auftritt ?
Vielen Dank für ihre Aufmerksamkeit
mfg Matthias |
|
Nach oben |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 02.11.2007, 15:21 Titel: |
|
|
Ohne Debugger eben die klassischen Wege. Code Stück für Stück auskommentieren, bis du an der Stelle ankommst, wo es kracht.
Vernünftiges Exceptionsystem wirkt auch generell Wunder.
Ansonsten kannst du auch noch so eine Art Callstack einführen (also Funktionsaufrufe mitloggen). |
|
Nach oben |
|
|
DirectXer Dark JLI'ler
Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 02.11.2007, 16:20 Titel: |
|
|
wenn du das Programm (bei VS, nicht bei C::B) mit F5 startest setzt er automatisch nen Breakpoint wo das Ganze kracht und teleportiert dich dann direkt dorthin. Da hast du auch in den Watch-Windows die Möglichkeit alle Variablen zu überprüfen. Wirst du daraus dann immer noch nicht schlau, kannst du noch selber einen Breakpoint kurz vor die Stelle setzen und den Verlauf betrachten. Und das Wichtigste: immer auf null-pointer und wild-pointer achten, sind eine häufige fehlerquelle.
Gruß DXer |
|
Nach oben |
|
|
Kampfhund Super JLI'ler
Alter: 42 Anmeldedatum: 20.07.2002 Beiträge: 408
Medaillen: Keine
|
Verfasst am: 02.11.2007, 17:03 Titel: |
|
|
Ich kann dazu auch Design By Contract empfehlen. Konsequent durchgezogen findet man Fehler damit recht schnell und nahe an der Stelle an der der Fehler auch verursacht wurde. _________________ Kochen ist ein NP-schweres Optimierungsproblem. |
|
Nach oben |
|
|
|