Autor |
Beitrag |
derkreis
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 07.05.12 15:13
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt NetLogTS.exe ist eine Exception der Klasse $C0000005 mit der Meldung 'access violation at 0x7c929af2: write of address 0x00000010' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Hallo,
hat irgendjemand eine Idee, warum beim Debuggen des Programms in der IDE von Delphi XE2 U4 direkt nach dem begin noch vor application.initialize dieser Fehler kommt?
Starte ich die EXE direkt, läuft sie normal.
Bin für jede Hilfe dankbar.
Gruß
Ralf Moderiert von Narses: Topic aus Sonstiges (Delphi) verschoben am Di 08.05.2012 um 08:40
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mo 07.05.12 15:46
Moin!
Das dürfte eine AV in einem initialization-Abschnitt einer eingebundenen Unit sein. Die werden manchmal (meistens?) nicht richtig aufgelöst, sondern am begin des Hauptprogramms angezeigt.
Grüße,
Martok
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
derkreis 
Hält's aus hier
Beiträge: 8
|
Verfasst: Fr 11.05.12 13:08
Hallo Martok,
hast Du mir eine Idee, wie ich der Unit auf die Schliche komme? Und wenn ich sie hab, wie kann ich das Problem fixen. Es sind eigentlich keine außergewöhnlichen Units:
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,INIFiles, lmdclass, Menus, StdCtrls, ExtCtrls, Registry, LMDWndProcComponent, LMDTrayIcon, LMDCustomComponent, LMDSysInfo, ImgList, IdStack;
Mit dem Ereignislog kann ich nicht wirklich viel anfangen  :
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| Thread-Start: Thread-ID: 2572. Prozess NetLogTS.exe (2060) Prozessstart: C:\Programme\Borland\Prog32\NetLogTS.exe. Basisadresse: $00400000. Prozess NetLogTS.exe (2060) Modul laden: NetLogTS.exe. Enthält Debug-Infos. Basisadresse: $00400000. Prozess NetLogTS.exe (2060) Modul laden: ntdll.dll. Ohne Debug-Infos. Basisadresse: $7C910000. Prozess NetLogTS.exe (2060) Modul laden: KERNEL32.dll. Ohne Debug-Infos. Basisadresse: $7C800000. Prozess NetLogTS.exe (2060) Modul laden: OLEAUT32.dll. Ohne Debug-Infos. Basisadresse: $770F0000. Prozess NetLogTS.exe (2060) Modul laden: ADVAPI32.dll. Ohne Debug-Infos. Basisadresse: $77DA0000. Prozess NetLogTS.exe (2060) Modul laden: RPCRT4.dll. Ohne Debug-Infos. Basisadresse: $77E50000. Prozess NetLogTS.exe (2060) Modul laden: Secur32.dll. Ohne Debug-Infos. Basisadresse: $77FC0000. Prozess NetLogTS.exe (2060) Modul laden: GDI32.dll. Ohne Debug-Infos. Basisadresse: $77EF0000. Prozess NetLogTS.exe (2060) Modul laden: USER32.dll. Ohne Debug-Infos. Basisadresse: $7E360000. Prozess NetLogTS.exe (2060) Modul laden: msvcrt.dll. Ohne Debug-Infos. Basisadresse: $77BE0000. Prozess NetLogTS.exe (2060) Modul laden: ole32.dll. Ohne Debug-Infos. Basisadresse: $774B0000. Prozess NetLogTS.exe (2060) Modul laden: MSIMG32.dll. Ohne Debug-Infos. Basisadresse: $76320000. Prozess NetLogTS.exe (2060) Modul laden: VERSION.dll. Ohne Debug-Infos. Basisadresse: $77BD0000. Prozess NetLogTS.exe (2060) Debug-Ausgabe: SXS: Unable to resolve storage root for assembly directory x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202 in 2 tries
Prozess NetLogTS.exe (2060) Debug-Ausgabe: SXS: RtlGetAssemblyStorageRoot() unable to resolve storage map entry. Status = 0xc0150004
Prozess NetLogTS.exe (2060) Debug-Ausgabe: SXS: Unable to resolve storage root for assembly directory x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202 in 2 tries
Prozess NetLogTS.exe (2060) Debug-Ausgabe: SXS: RtlGetAssemblyStorageRoot() unable to resolve storage map entry. Status = 0xc0150004
Prozess NetLogTS.exe (2060) Nicht-Benutzer-Haltepunkt bei $00564974. Prozess NetLogTS.exe (2060) Erste Gelegenheit für Exception bei $7C929AF2. Exception-Klasse $C0000005 mit Meldung 'access violation at 0x7c929af2: write of address 0x00000010'. Prozess NetLogTS.exe (2060) |
Moderiert von Narses: Code-Tags hinzugefügt
|
|
derkreis 
Hält's aus hier
Beiträge: 8
|
Verfasst: Fr 18.05.12 14:52
Keiner eine Idee? Das fällt mir schwer zu glauben ...
Ich wüsste wirklich gern, wo das Problem liegt.
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 18.05.12 15:02
Wenn du dann fortsetzt, läuft die Exe dann normal? Wenn ja, wird die Exception abgefangen und behandelt. Delphi zeigt die beim Debuggen aber natürlich trotzdem an, schließlich willst du ja Fehler finden.
Um zu der Stelle debuggen zu können, binde einfach eine neue Unit ganz oben im Projektquelltext ein und schreibe in deren initialization Code, auf dem du dann per Haltepunkt anhältst. Das ist das erste, das in der Exe passiert nach der direkten Initialisierung am Einsprungspunkt. Von dort aus kannst du dann schrittweise weitergehen.
|
|
derkreis 
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 21.05.12 13:50
Nein, weiter macht der Debugger nicht. Er läuft unendlich in den gleichen Fehler.
Bezüglich neue Unit und deren Initialisierungsteil habe ich das Problem, dass ich nicht weiß, wo der Debugger hinkommen soll (create hilft nicht, denn da ist die Exception schon da). Ich hab mal alle Units rausgenommen und nur noch die forms drin gelassen. Aber auch da kommt die Exception. Ich steh grad total auf de Schlauch!
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| uses Forms;
{$R *.RES}
begin Application.Initialize; Application.Title := 'NetLog'; Application.Run; end. |
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt NetLogTS.exe ist eine Exception der Klasse $C0000005 mit der Meldung 'access violation at 0x7c929af2: write of address 0x00000010' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 21.05.12 18:19
Dann erstelle einmal ein neues Projekt und füge dem schlicht die Unit mit deinem Formular hinzu.
(Denn dann liegt es wohl an irgendwelchen Projekteinstellungen oder -ressourcen, nicht am Quelltext im Formular.)
|
|
derkreis 
Hält's aus hier
Beiträge: 8
|
Verfasst: Di 22.05.12 11:39
Hallo,
so habe ich es gemacht. Ich hab die Projektdateien gelöscht und das Formular in ein neues Projekt eingefügt. Jetzt geht es. Es scheint ein Bug beim Konvertieren eines Delphi 2010 Projektes in XE2 zu sein.
Gruß
Ralf
|
|
|