AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FireDac Debugen

Ein Thema von Edelfix · begonnen am 5. Mai 2025 · letzter Beitrag vom 6. Mai 2025
Antwort Antwort
fisipjm

Registriert seit: 28. Okt 2013
343 Beiträge
 
Delphi 12 Athens
 
#1

AW: FireDac Debugen

  Alt 5. Mai 2025, 09:53
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

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.

Geändert von fisipjm ( 5. Mai 2025 um 09:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.662 Beiträge
 
Delphi 12 Athens
 
#2

AW: FireDac Debugen

  Alt 5. Mai 2025, 09:58
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
248 Beiträge
 
Delphi 12 Athens
 
#3

AW: FireDac Debugen

  Alt 5. Mai 2025, 11:33
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.

Geändert von Edelfix ( 5. Mai 2025 um 12:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
725 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: FireDac Debugen

  Alt 5. Mai 2025, 14:06
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.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.690 Beiträge
 
Delphi 12 Athens
 
#5

AW: FireDac Debugen

  Alt 5. Mai 2025, 14:16
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
248 Beiträge
 
Delphi 12 Athens
 
#6

AW: FireDac Debugen

  Alt 5. Mai 2025, 14:26
Habe ein Screenshot angehängt. Worauf soll ich achten? Was übersehe ich?
Angehängte Grafiken
Dateityp: jpg 05-05-_2025_15-23-47.jpg (182,2 KB, 28x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.690 Beiträge
 
Delphi 12 Athens
 
#7

AW: FireDac Debugen

  Alt 5. Mai 2025, 15:04
Offenbar hast du bei der Query den ResourceOptions.CmdExecMode auf asynchron gestellt. Dann wird da in einem Thread ausgeführt und der Callstack zeigt die Quelle des Aufrufs nicht an.

Während des Debuggens empfehle ich daher, den CmdExecMode auf amBlocking zu stellen. Das kann ja z.B. in einem BeforeOpen-Event speziell für den Debug-Mode so eingestellt werden.

Eigentlich müsste man es auch mit dem Thread-Callstack sehen können, wenn man die lokalen Variablen in den aufrufenden Methoden des Stack untersucht. Das kann ich allerdings nicht verifizieren, da ich hier keine Pro-Version habe.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
248 Beiträge
 
Delphi 12 Athens
 
#8

AW: FireDac Debugen

  Alt 5. Mai 2025, 15:58
Uwe du hast mal wieder Recht. Habe nicht mehr daran gedacht.

Mit CmdExecMode auf amBlocking wird auch die Zeile im Quelltext innerhalb der CPU Ansicht angezeigt.

Danke.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:33 Uhr.
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