Entwickler-Ecke

Sonstiges (FPC / Lazarus) / Linux API - Fehler beim Debuggen unklar


Rawi - Sa 22.12.18 13:49
Titel: Fehler beim Debuggen unklar
Hallo zusammen,

bei mir ist es heute leider während des Debuggens zu einem Fehler gekommen, der sich mir nicht erschließt.

Das Kompilieren ist kein Problem und auch die Exe selber startet richtig. Nur mit Debugger tritt mein Fehler auf. Der Debugger öffnet mir folgenden Code-Abschnitt:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
program project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Interfaces, // this includes the LCL widgetset
  Forms, Unit1, Unit2, Unit3, Unit4, Unit5;

{$R *.res}

begin
 Application.Title:='RawPW';
  RequireDerivedFormResource:=True;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm4, Form4);
  Application.CreateForm(TForm5, Form5);
  Application.Run;
end.


Fehlerhaft Markiert ist nur die Zeile:

Delphi-Quelltext
1:
Application.Title:='RawPW';                    


Kann mir jemand helfen?

LG

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt


Symbroson - Sa 22.12.18 17:10

Versuche mal Application.Title:='RawPW'; nach Application.Initialize; aufzurufen. Ich könnte mir vorstellen dass das Initialize wie eine Art Create Funktion bei anderen Komponenten fungiert.

Abgesehen davon kann ich diesen Fehler bei mir nicht reproduzieren. (Lazarus 1.8.4 Ubuntu 18.10)

Andere Möglichkeit: Hast du einen Breakpoint gesetzt oder mit Step into [F7] / Step Over [F8] gestartet? Dann wird natürlich die erste ausgeführte Zeile markiert (welche ebendieser entspricht) und du kannst mit F7/F8 Zeilenweise durch das Programm hüpfen und mitverfolgen welche Befehle der Reihe nach ausgeführt werden und ggf. Variablenwerte beobachten


Rawi - Fr 11.01.19 22:58

user profile iconSymbroson hat folgendes geschrieben Zum zitierten Posting springen:
Versuche mal Application.Title:='RawPW'; nach Application.Initialize; aufzurufen. Ich könnte mir vorstellen dass das Initialize wie eine Art Create Funktion bei anderen Komponenten fungiert.

Abgesehen davon kann ich diesen Fehler bei mir nicht reproduzieren. (Lazarus 1.8.4 Ubuntu 18.10)

Andere Möglichkeit: Hast du einen Breakpoint gesetzt oder mit Step into [F7] / Step Over [F8] gestartet? Dann wird natürlich die erste ausgeführte Zeile markiert (welche ebendieser entspricht) und du kannst mit F7/F8 Zeilenweise durch das Programm hüpfen und mitverfolgen welche Befehle der Reihe nach ausgeführt werden und ggf. Variablenwerte beobachten


Vielen Dank erstmal... Das könnte in der Tat mein Problem sein.

Kann ich dieses Step In und Step Over irgendwie abschalten?


Symbroson - Mi 16.01.19 15:46

Du musst die Breakpoints entfernen und das Programm mit F9 bzw. dem grünen Dreieck/Pfeil oben links im Taskbar starten