Announcement

Collapse
No announcement yet.

Suchen | Laufzeitfehler suchen.. funktioniert nicht (Delphi3)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Suchen | Laufzeitfehler suchen.. funktioniert nicht (Delphi3)

    Wenn ich eine Meldung zu einem Laufzeitfehler erhalte
    z.B. "Zugriffsverletzung bei Adresse 00425877 in Modul .."
    "Lesen von Adresse FFFFFFFF"
    ist es mir nicht möglich über den Menüpunkt
    'Suchen|Laufzeitfehler suchen' den Fehler zu lokalisieren, da ich
    jedesmal die Meldung erhalte 'Fehleradresse nicht gefunden'!
    Um der Frage vorzubeugen: Ja, ich habe alle Debugoptionen in den
    Compilereinstellungen aktiviert.

    Hier ein Beispiel für für eine derartige Zugriffsverletzung.
    Es ist mir nicht möglich diesen einfachen Fehler über
    'Suchen|Laufzeitfehler suchen' zu lokalisieren.

    procedure TForm1.Button1Click(Sender: TObject);
    var p: ^integer;
    begin
    p:=pointer(-1);
    if p^< 0 then // hier sollte 'Laufzeitfehler suchen' landen!
    caption:='hallo';
    end;

    Was mache ich bloß verkehrt?

  • #2
    Hallo,

    ich habe das Beispiel gleich nachvollzogen und bei mir findet Delphi (Delphi 5 Enterprise ohne UpdatePack#1) die Zeile über die eingetragene Laufzeit-Fehlernummer. Um sicherzugehen, das keine Missverständnisse auftreten, beschreibe ich meine Vorgehensweise:

    <pre>
    procedure TForm1.Button1Click(Sender: TObject);
    var
    p: ^integer;
    begin
    p:=pointer(-1);
    if p^< 0 then
    // hier sollte 'Laufzeitfehler suchen' landen!
    caption:='hallo';
    end;
    </pre>

    1. Projekt wird compiliert und gestartet <br>
    2. Button wird angeklickt -> Exeception -> Adresse notieren. <br>
    3. Programm nicht (!) beenden, sondern sofort <i>Suchen | Laufzeitfehler suchen</i> aufrufen. <br>
    4. Im Dialogfenster die Adresse des Fehlers eintragen. <br>
    5. Mit dem Anklicken von OK springt der Cursor auf die Fehlerstelle

    Comment


    • #3
      Schönen Dank für den Versuch.
      Die beschriebene Vorgehensweise entspricht genau dem was ich (bei Delphi 3) auch mache. Leider erscheint bei mir am Ende nur eine Meldung, daß die Adress nicht auffindbar ist.
      Ich denke, es gibt bei meiner Installation überhaupt keine Fehleradresse die vom Copmiler einer Codezeile zugeordnet werden kann.
      Gibt es eine Fehleradressen die immer gefunden werden muß

      Comment

      Working...
      X