AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Fehler beim Prorammstart, wie debuggen ?
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler beim Prorammstart, wie debuggen ?

Ein Thema von bernhard_LA · begonnen am 6. Mai 2022 · letzter Beitrag vom 9. Mai 2022
Antwort Antwort
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

Fehler beim Prorammstart, wie debuggen ?

  Alt 6. Mai 2022, 18:01
mein Programm stützt direkt beim Programmstart ab
mein Form hat keine onCreate , onShow Funktionen
madexcept liefert diesen Dump -
ist madexcept die Ursache und nicht die Lösung ... erwarte andere AV im Code, der wird aber erst später aufgerufen




Delphi-Quellcode:
compiled with : Delphi 10.4 Sydney
madExcept version : 5.1.0
callstack crc : $171d1ad5, $9917af7d, $9917af7d
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 00000000004072A2 in module 'DebugVCL.TST.exe'. Read of address FFFFFFFFFFFFFFFF.

thread $490:
004072a2 +012 DebugVCL.TST.exe System 796 +4 Move56
00407f8f +0bf DebugVCL.TST.exe System 4524 +632 SysReallocMem
671ef8ba +37a madExcept64.dll madExceptDbg 1978 +73 ReallocMemCallback
00409507 +017 DebugVCL.TST.exe System 4913 +5 @ReallocMem
00417637 +237 DebugVCL.TST.exe System 36568 +70 DynArraySetLength
0041788c +02c DebugVCL.TST.exe System 36650 +9 @DynArraySetLength
004aa33b +03b DebugVCL.TST.exe System.Classes 5205 +5 TList.SetCapacity
004a9f4b +06b DebugVCL.TST.exe System.Classes 5041 +1 TList.Grow
004a9bbd +01d DebugVCL.TST.exe System.Classes 4964 +3 TList.Add
004aafea +04a DebugVCL.TST.exe System.Classes 5456 +5 TThreadList.Add
005ee588 +118 DebugVCL.TST.exe Vcl.Graphics 3780 +26 TCanvas.Create
00646c89 +049 DebugVCL.TST.exe Vcl.Controls 14364 +2 TCustomControl.Create
006b77ab +03b DebugVCL.TST.exe Vcl.ExtCtrls 3200 +1 TCustomPanel.Create
004bafda +10a DebugVCL.TST.exe System.Classes 11049 +15 CreateComponent
004bb330 +0e0 DebugVCL.TST.exe System.Classes 11095 +11 TReader.ReadComponent
004bb7b7 +0a7 DebugVCL.TST.exe System.Classes 11161 +9 TReader.ReadDataInner
004bb6be +03e DebugVCL.TST.exe System.Classes 11140 +5 TReader.ReadData
004ca96d +00d DebugVCL.TST.exe System.Classes 17026 +1 TComponent.ReadState
00631e03 +043 DebugVCL.TST.exe Vcl.Controls 5744 +3 TControl.ReadState
00638d16 +026 DebugVCL.TST.exe Vcl.Controls 8799 +3 TWinControl.ReadState
0076a73f +04f DebugVCL.TST.exe Vcl.Forms 4216 +7 TCustomForm.ReadState
004bccc1 +371 DebugVCL.TST.exe System.Classes 11575 +37 TReader.ReadRootComponent
004b42d9 +039 DebugVCL.TST.exe System.Classes 9096 +3 TStream.ReadComponent
004a056f +08f DebugVCL.TST.exe System.Classes 4374 +7 InternalReadComponentRes
004a96d6 +086 DebugVCL.TST.exe System.Classes 4648 +4 InitComponent
004a9785 +065 DebugVCL.TST.exe System.Classes 4660 +6 InitInheritedComponent
0076949c +12c DebugVCL.TST.exe Vcl.Forms 3838 +18 TCustomForm.Create
0077a6f6 +086 DebugVCL.TST.exe Vcl.Forms 11147 +13 TApplication.CreateForm
00cbf407 +057 DebugVCL.TST.exe DebugVCL.TST 16 +3 initialization
7ffb0ada +00e KERNEL32.DLL BaseThreadInitThunk
7ffb0b46 +01b ntdll.dll RtlUserThreadStart
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#2

AW: Fehler beim Prorammstart, wie debuggen ?

  Alt 6. Mai 2022, 18:13
Du siehst ja, wo es knallt, beim Laden der DFM.

also Erstellen einer Komponente, bzw. zuweisen eines Property.


Du kannst also ganz einfach die DFM ausmisten (im Formdesginer oder im DFM-Text so lange was rauswerfen, bis es nicht mehr knallt)

Oder man hängt sich an die Fehlerbehandlung des TReader.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Mai 2022 um 18:24 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Fehler beim Prorammstart, wie debuggen ?

  Alt 6. Mai 2022, 18:24
Du siehst ja, wo es knallt, beim Laden der DFM.
also erstellen einer Komponente, bzw. zuweisen eines Property...
Eine dumme Frage, Himitsu: Woran siehst Du, daß der Fehler beim Laden der DFM passiert.
Danke & Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fehler beim Prorammstart, wie debuggen ?

  Alt 6. Mai 2022, 18:46
TReader

TReader und TWriter sind die Komponenten, welche das Binärformat der DFM laden, bzw. speichern.



OnError
https://stackoverflow.com/questions/...d-from-the-dfm
Der FormDesigner nutzt das auch, um beim Öffnen von Units Fehler in der DFM zu behandeln, und z.B. defekte Teile rauszuwerfen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Mai 2022 um 18:50 Uhr)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Fehler beim Prorammstart, wie debuggen ?

  Alt 6. Mai 2022, 18:50
@Himitsu:
Das ist der Unterschied zwischen dem Amateur und dem Profi...
Danke!
Grüße, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Fehler beim Prorammstart, wie debuggen ?

  Alt 6. Mai 2022, 19:03
aktuell läuft mein Projekt wieder.

habe die *.dproj gelöscht und dann das Projekt neu geladen, neue Parameter , Pfade gesetzt etc .....
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Fehler beim Prorammstart, wie debuggen ?

  Alt 6. Mai 2022, 19:14
(offtopic)
PS: TReader ist nicht mein Code , genauso wie die Delphi IDE,
was könnte ich bei diesem Fehler machen ... bin hier ziemlich hilflos ?
Miniaturansicht angehängter Grafiken
delphi_crash.png  
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#8

AW: Fehler beim Prorammstart, wie debuggen ?

  Alt 6. Mai 2022, 21:12
Der Reader hat bestimmt keinen Fehler.
Der funktioniert seit knapp 30 Jahren unverändert gut.

Packages sind ein Problem für sich.
Du mußt alles selber freigeben, bevor die Anwendung beendet wird.

Die VCL-Packages werden als Letzte freigegeben, nachdem alle deine Packages bereits weg sind.
Existiert da noch eine Form (sieht bei dir so aus) oder Komponente, welche Code aus bereits entladenen Packages nutzen wollten, dann knallt es, da der Code ja schon weg ist.
Noch vorhandene Forms werden aber erst im Finalization der VCL-BPL freigegeben, da wo Application und Screen verschwinden wollen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Mai 2022 um 21:16 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Fehler beim Prorammstart, wie debuggen ?

  Alt 9. Mai 2022, 21:16
Hallo,
Interfaces schießen gern mal Code weg.

Benutzt Du Interfaces?
Heiko
  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 11:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz