Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Ist das hier Delphi ?

  Alt 9. Feb 2013, 02:39
Hallo,

ich habe gerade versucht, den Ablauf im Kopf nachzuvollziehen, aber auf die Schnelle seh ich den Fehler nicht. Bugs in solchen Parsern nur durch reines Draufschauen zu finden, ist aber auch sehr schwer. Ich würde dir daher empfehlen, die Log-Datei erst mal auf die relevanten Zeilen zu kürzen:

Code:
[11:20:27] <Begin Info: Obedience>
[11:20:27] Focus Bonuses:
[11:20:27] - ALL spell lines: 50  lvls
[11:20:27] <End Info>
Und anschließend hierrunter, z.B. in die Zeile mit bPercent, einen Breakpoint zu setzen:
Code:
      if (Line[11] == '-')
      {   // Alles danach ist ein Wert, der mich interessiert
         // Suche erstmal nach einem Zahlenwert. Sollte immer nur einer sein
         // Bonus-Argument ist immer der String vor einem Doppelpunkt,
         // oder der String hinter einer Zahl
         bool bValue = false;  // Gibts eine Zahl?
         bool bDoppel = false;  // gibt es einen Doppelpunkt im String
         bool bPercent = false;  // Es ist ein Prozent-Wert
Einen Breakpoint setzt du, indem du auf den Linken Editor-Rand neben der Zeile klickst (dort sollte dann ein roter Punkt erscheinen).

Wenn du das Programm dann anschließend aus der IDE heraus ausführst, hält das Programm an genau der Stelle an, wo der Breakpoint sitzt. Du kannst dann Zeile für Zeile die Ausführung fortsetzen (in Delphi geht es mit F8, im C++-Builder vielleicht auch?) und dabei die Werte, die Variablen annehmen, beobachten, indem du mit der Maus darüberfährst. Vielleicht siehst du dann, wo das Programm sich anders verhält als es sollte.

Ich hoffe das hilft dir ein bisschen weiter...

Und es wurde wahrscheinlich schon gefragt, aber ist der Autor des Programms denn nicht erreichbar?

Edit: Achja, und Glückwunsch zum erfolgreichen Kompilieren

Geändert von Namenloser ( 9. Feb 2013 um 02:48 Uhr)
  Mit Zitat antworten Zitat