Debugger findet Unit nicht?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
DeepCopy
Beiträge: 5
Registriert: So 2. Aug 2009, 16:59

Debugger findet Unit nicht?

Beitrag von DeepCopy »

Hallo Lazarusforum,

ich arbeite schon eine ganze Weile mit Lazarus, habe unter Linux wie unter Windows Programme erstellt.
Heute wollte ich unter Windows 32Bbit die TIniFile benutzen, mit folgendem Code:

Code: Alles auswählen

procedure SolarSystemLoader(SolarIniFile: AnsiString;  var SolarSystem:
  TSolarSystem);
var IniFile: TIniFile;
    IniSections: TStrings;
begin
    SolarSystem := nil;                           { make sure is empty }
    IniFile := TIniFile.Create(SolarIniFile);     { create ini file }
    IniSections := TStrings.Create;
    IniFile.ReadSections(IniSections);            { read sections for array dim } {<-- hier knallts: RunError(211); TAbstractError: Abstract Method Called}
    SetLength(SolarSystem,IniSections.Count);     { redim to planets count }
    IniFile.Free;
    IniSections.Free;
end;
Ok, nachgesehen und festgestellt das In TCustomIniFile ReadSections als abstract markiert ist, aber ich instantiere doch TIniFile? :roll:
Also den Debugger angeschmissen und verucht über die Step-In Funktion in ReadSections reinzukommen, geht nicht!. Einen Brake-Point setzen wird geht auch nicht, der Brakepoint wird ausgegraut. Mit der Codesuche [STRG+Click] komme ich zur gewünschten Methode, und der Linker beschwehrt sich auch nicht?

Sehr seltsam ich hoffe Ihr könnt mir da Helfen :cry:

Benutzeravatar
theo
Beiträge: 11306
Registriert: Mo 11. Sep 2006, 19:01

Re: Debugger findet Unit nicht?

Beitrag von theo »

DeepCopy hat geschrieben: IniSections := TStrings.Create;
TStrings ist eine abstrakte Basisklasse die nicht instantiiert werden darf.
Lies die Meldungen: Warning: Constructing a class "TStrings" with abstract methods

Nimm TStringList.

DeepCopy
Beiträge: 5
Registriert: So 2. Aug 2009, 16:59

Re: Debugger findet Unit nicht?

Beitrag von DeepCopy »

Tausend Dank theo :)

das hat den TAbstractError beseitigt, hätte den Disassembler besser studieren sollen, thx dafür.

Aber es bleibt nach wie vor noch das Problem mit dem Debugger Tracing
Hab mal einen Screen-Shot angehangen. Ich kann die Funktion nicht debuggen.
Habe mir mal alle eingebundenen Units während der Kompilierung vom Debugger
ausgeben lassen und er Bindet die entsprechende inifiles.ppu auch brav ein
(sonst würds ja auch nicht gehen) aber beim Debuggen tut er so als gäbs
keine Debug-Symbole in der *ppu. Habe die gesamte Lazarus-IDE nochmal
kompiliert keine Änderung. :cry:
Dateianhänge
debugger.png

Benutzeravatar
theo
Beiträge: 11306
Registriert: Mo 11. Sep 2006, 19:01

Re: Debugger findet Unit nicht?

Beitrag von theo »

Inifiles sind Teile der FCL. Da müsstest du die FCL mit Debug-Infos bauen.

DeepCopy
Beiträge: 5
Registriert: So 2. Aug 2009, 16:59

Re: Debugger findet Unit nicht?

Beitrag von DeepCopy »

Und jetzt mal ganz blöd gefragt: Wie geht das?

Benutzeravatar
theo
Beiträge: 11306
Registriert: Mo 11. Sep 2006, 19:01

Re: Debugger findet Unit nicht?

Beitrag von theo »

Hab ich noch nie gemacht. Vllt steht's hier drin: http://www.stack.nl/~marcov/buildfaq.pdf" onclick="window.open(this.href);return false;

DeepCopy
Beiträge: 5
Registriert: So 2. Aug 2009, 16:59

Re: Debugger findet Unit nicht?

Beitrag von DeepCopy »

Danke theo für deine Antwort,

aber das ist die Bescheibung wie man den Free Pascal Compiler FPC bauen kann, nicht die FCL.
trotzdem thx.

Benutzeravatar
theo
Beiträge: 11306
Registriert: Mo 11. Sep 2006, 19:01

Re: Debugger findet Unit nicht?

Beitrag von theo »

Selber suchen. z.B. hier http://forum.lazarus.freepascal.org/ind ... 740.0.html" onclick="window.open(this.href);return false;

DeepCopy
Beiträge: 5
Registriert: So 2. Aug 2009, 16:59

Re: Debugger findet Unit nicht?

Beitrag von DeepCopy »

Dafür bin ich wohl noch nicht lang genug dabei um alleine darauf zu kommen :lol:

Danke dir nochmals.

Benutzeravatar
theo
Beiträge: 11306
Registriert: Mo 11. Sep 2006, 19:01

Re: Debugger findet Unit nicht?

Beitrag von theo »

http://wiki.lazarus.freepascal.org/Laza ... th_Lazarus" onclick="window.open(this.href);return false;

Antworten