Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   FireDac Debugen (https://www.delphipraxis.net/217133-firedac-debugen.html)

Edelfix 5. Mai 2025 09:26

FireDac Debugen
 
Warum lande ich in der CPU Ansicht wenn ich in der Delphi 12.3 IDE ein Fehler in der FireDac Komponente habe?

Ich meine nicht das die Komponente fehlerhaft ist, sondern ein Fehler beim verwenden der Komponente.

Der Fehler: "Erste Gelegenheit für Exception bei $00007FF8B7AEB699. Exception-Klasse EMySQLNativeException mit Meldung '[FireDAC][Phys][MySQL] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near .."

Ich sehe das die SQL Syntax falsch ist aber in welcher Komponente oder Quelltext Zeile?

QuickAndDirty 5. Mai 2025 09:35

AW: FireDac Debugen
 
Sind in den compileroptions debug-DCU angehakt? Wenn nicht, dann anhaken.

fisipjm 5. Mai 2025 09:40

AW: FireDac Debugen
 
Zitat:

Zitat von Edelfix (Beitrag 1548434)
Warum lande ich in der CPU Ansicht wenn ich in der Delphi 12.3 IDE ein Fehler in der FireDac Komponente habe?

Welche Version von Delphi hast du im Einsatz? Der Quellcode zu Firedac ist erst ab Enterprise/Architect dabei. In der Pro version ist FireDac nur für Locale zugriffe und damit man das nicht umgeht, werden nur die DCUs mit ausgeliefert. Also hat deine IDE dann keine andere Chance.

Edelfix 5. Mai 2025 09:43

AW: FireDac Debugen
 
Wenn ich es aktiviere lande ich in c:\program files (x86)\embarcadero\studio\23.0\SOURCE\RTL\SYS\Syste m.pas

In: procedure _InternalRaiseAtExcept(Obj: TObject; Address: Pointer; Reraise: Boolean);

und danach erst in der CPU Ansicht.

Ist eine Veränderung aber ich weiß leider immer noch nicht welche Komponente den Fehler verursacht.

Ich nutze die Pro Lizenz. Ich möchte die FireDac Quelltexte auch nicht sehen. Ich möchte nur wissen welche Komponente ich ändern muss.

fisipjm 5. Mai 2025 09:53

AW: FireDac Debugen
 
Zitat:

Zitat von Edelfix (Beitrag 1548439)
Ich möchte nur wissen welche Komponente ich ändern muss.

Da deine Exception mit "Erste Gelegenheit für " anfängt würde ich einfach mal die Suche für diesen String über das ganze Projekt anwerfen.
Ansonsten CPU Ansicht schließen und "Ausführung bis Rückkehr" versuchen (Umschalt + F8, drittes debugger Symbol, ganz rechts).
Konnte mich bisher aber auch noch nicht erfolgreich der CPU Ansicht entledigen :oops:

Edit: Wenn deine Exceptio in einer Komponente erzeugt wird (z.B. Query auf einem Datamodule) dann wird's mit dem Debugger und ohne FireDac Quellcode so gut wie unmöglich die Stelle exakt zu bestimmen. Da hilft dann meist nur rantasten.

DeddyH 5. Mai 2025 09:58

AW: FireDac Debugen
 
Wenn in der Meldung "to use near" steht, sollte danach ein Schnipsel des fehlerhaften SQL-Statements folgen. Danach kann man ja dann seine Komponenten durchsuchen.

Edelfix 5. Mai 2025 11:33

AW: FireDac Debugen
 
Habe den fehlerhaften Quelltext gefunden. Es hat viel zu lange gedauert. Der Debuger war dabei aber leider überhaupt nicht hilfreich.

Es ist eine Stelle mit einer Query und dem Open Befehl der zur Exception führt. Die Stelle währe hilfreich.

Als ich versucht habe die Stelle mit try except ein zu klammern war die Klasse Exception aus der Unit Outlook2010.

Musste es erst etwas anpassen damit es funktioniert:

Delphi-Quellcode:
try
  Q1.Open;
except on E: System.SysUtils.Exception do
  s := E.Message;
end;
Könnte das der Grund sein ich in der CPU Ansicht gelandet bin?

Wichtiger währe zu wissen wie ich die CPU Ansicht komplett deaktivieren kann.

Sinspin 5. Mai 2025 14:06

AW: FireDac Debugen
 
MadExcept oder ähnliche Tools können bei sowas wirklich sehr hilfreich sein.

Und wenn es sich rausstellt dass es bei dir doch aus Outlook2010 knallt bist Du damit leider aktuell nicht allein.
Ich hoffe Winzigweich macht das rückgänging was sie letztens am Patchday angerichtet haben.

Uwe Raabe 5. Mai 2025 14:16

AW: FireDac Debugen
 
Zitat:

Zitat von Edelfix (Beitrag 1548447)
Habe den fehlerhaften Quelltext gefunden. Es hat viel zu lange gedauert. Der Debuger war dabei aber leider überhaupt nicht hilfreich.

Es ist eine Stelle mit einer Query und dem Open Befehl der zur Exception führt. Die Stelle währe hilfreich.

Ich hätte erwartet, dass die auslösende Zeile im Callstack zu sehen ist. In Lokale Variablen sollte man dann auch die SQL-Anweisung der betroffenen Query inspizieren können.

Edelfix 5. Mai 2025 14:26

AW: FireDac Debugen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe ein Screenshot angehängt. Worauf soll ich achten? Was übersehe ich?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz