Autor Beitrag
patmann2001
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 201

Windows 7 Prof.
Delphi XE2
BeitragVerfasst: Di 20.10.15 15:47 
Hallo,

ich habe ein Programm mit Delphi XE2 geschrieben. Es läuft auf meinem Win7 64bit Rechner sowohl als 32bit als auch als 64bit Variante.
Auf dem eigentlichen Zielsystem, ebenfalls Win7 64bit startet aber nur die 32bit Version. Bei der 64bit Version wird das Hauptfenster erzeugt und dann beendet das Windows mein Programm mit der Fehlermeldung:
Zitat:
a problem caused the program to stop working correctly. please close the program

Ich bekomme keine Fehlermeldung vom Programm selber. Würde eine Exception auftretten, würde diese in ein Logfile geschrieben. Das funktioniert einwandfrei, jedoch das LogFile ist leer.

Jemand eine Idee?

lg Patmann


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Di 20.10.2015 um 22:13
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Di 20.10.15 15:53 
Wahrscheinlich fehlt irgendeine 64-bit-dll auf dem Zielrechner, bzw. ist eine andere als bei dir.
patmann2001 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 201

Windows 7 Prof.
Delphi XE2
BeitragVerfasst: Di 20.10.15 15:55 
Hallo baumina

Das klingt gut,

wie kriege ich das jetzt raus?

lg
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 20.10.15 15:59 
Wenn man seinen Programmen und DLLs ordentliche Namen gibt, muss man nicht lange suchen:

Demoname32.exe
Demoname64.exe
Demoname32.dll
Demoname64.dll
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Di 20.10.15 16:01 
Was benutzt du denn für dlls? Ist es evtl. eine Datenbankanwendung, die eine DLL benutzt?
patmann2001 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 201

Windows 7 Prof.
Delphi XE2
BeitragVerfasst: Di 20.10.15 16:03 
Hallo,

ich habe keine DLL eingebunden. Ich verwende ausschließlich XE2 Standartkomponenten. Ich habe auch ein weiteres Programm, das sowohl 32 bit als auch 64 bit ist und das auf beiden Rechnern in beiden Versionen läuft.

Deshalb bin ich ja so verwirrt.

Was wirklich schwierig ist, daß man keine Fehlermeldung finden kann. Das Programm wird einfach beendet.

lg
Patmann
GuaAck
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 376
Erhaltene Danke: 32

Windows 8.1
Delphi 10.4 Comm. Edition
BeitragVerfasst: Di 20.10.15 16:24 
Hallo,

mir hatte vor ein paar Jahren mal das Programm www.dependencywalker.com/ geholfen. Das listet übersichtlich alle vom Programm benötigtene DLLs auf. Vielleicht erkennt man ja, was fehlt, evtl. durch Vergleich mit einem laufenden Programm.

Gruß
GuaAck
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Di 20.10.15 16:59 
user profile iconpatmann2001 hat folgendes geschrieben Zum zitierten Posting springen:
Zitat:
a problem caused the program to stop working correctly. please close the program

Ich bekomme keine Fehlermeldung vom Programm selber.
Diese Fehlermeldungsdialoge haben einen Details-Knopf irgendwo (ggf. bei Windows 7 noch hinter "Problembericht senden" versteckt), da steht dann auch der Fehlercode und -Modul drin...

_________________
"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."
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 20.10.15 19:43 
user profile iconpatmann2001 hat folgendes geschrieben Zum zitierten Posting springen:
Jemand eine Idee?

Was du noch machen könntest:

  1. Statt der Release- die Debug-Version deines 64-Bit-Kompilats auf dem problematischen Rechner zu starten versuchen. Eventuell werden damit Fehlermeldungen angezeigt.
  2. Vor dem Kompilieren MessageBoxes mit anschließendem Application.ProcessMessages einbauen, um zu sehen, wie weit das Programm kommt bzw. wo genau es abstürzt.
  3. Das Logfile bei jeder Fehlermeldung, die der Liste hinzugefügt wird, sofort speichern, da es beim Absturz vermutlich nicht mehr gespeichert wird.
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Di 20.10.15 19:48 
Um an Fehler-Infos zu kommen, könnte auch die Zuverlässigkeitsüberwachung helfen.
Einfach mal im Windows nach "Zuverlässigkeitsüberwachung" suchen, es müsste ein Programm gefunden werden, das so oder so ähnlich heißt.
Das listet Fehler und Informationen mit detailierten Infos nach dem Datum auf.
Deine Fehlermeldung müsste dort auch zu finden sein, dort landen auch die Details, die Martok meint.

Für diesen Beitrag haben gedankt: Martok, Narses, OlafSt
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 21.10.15 00:00 
user profile iconPalladin007 hat folgendes geschrieben Zum zitierten Posting springen:
Um an Fehler-Infos zu kommen, könnte auch die Zuverlässigkeitsüberwachung helfen.
Das kannte ich noch nicht, danke!

Die Ereignisanzeige loggt in der Kategorie "Anwendung" die gleichen Informationen, aber weniger schön aufbereitet.

_________________
"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."
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 21.10.15 07:18 
"zuverlässig" oder "relia" im Suchfeld eingeben...oder:
Systemsteuerung\Alle Systemsteuerungselemente\Wartungscenter\Zuverlässigkeitsüberwachung
Einloggen, um Attachments anzusehen!
patmann2001 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 201

Windows 7 Prof.
Delphi XE2
BeitragVerfasst: Mi 21.10.15 14:21 
Hallo,

erstmal vielen Dank für die vielen Vorschläge.

Über die "Zuverlässigkeitsüberwachung" habe ich es zuerst probiert. Da kommt zwar eine Fehlermeldung in Modul blablabla und eine schöne Kryptische Zahl bei raus.

ausblenden Quelltext
1:
2:
Exception code: 0xc0000005
Fault offset: 0x000000000000e21d

Die Hilft mir aber leider nicht weiter. Dann habe ich es mit dem "Dependency Walker" versucht. Ein schönes Programm, leider findet es sowohl in der 64bit Version als auch in der 32bit Version die gleichen fehlenden DLL. Nach den DLL's habe ich auch Gegoogled, aber nichts hilfreiches gefunden:

Zitat:

API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL
DCOMP.DLL
IESHIMS.DLL

Was ich persönlich sehr seltsam finde ist, daß die 32bit Version vom Walker mit Error makiert wird, jedoch die 64bit nur mit Warning.

Ich habe natürlich inzw. auch Debug and Release Versionen probiert. Ich habe immer das selbe Resultat. Nur eben das Debug Version immer deutlich größer sind, wegen der Debug Info die im Release nicht erstellt wird.

Natürlich speichert mein Fehlerhandler immer sofort.

Ich werde jetzt noch den Code mit anpassen wie es "Perlsau" vorgeschlagen hat und mich dann noch einmal melden.

lg
Patmann
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mi 21.10.15 14:37 
user profile iconpatmann2001 hat folgendes geschrieben Zum zitierten Posting springen:
Über die "Zuverlässigkeitsüberwachung" habe ich es zuerst probiert. Da kommt zwar eine Fehlermeldung in Modul blablabla und eine schöne Kryptische Zahl bei raus.

ausblenden Quelltext
1:
2:
Exception code: 0xc0000005
Fault offset: 0x000000000000e21d
Vier Zeilen weiter (Edit: und direkt davor) wäre dann die spannende Information, nämlich der Pfad des fehlerhaften Moduls.

_________________
"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."
patmann2001 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 201

Windows 7 Prof.
Delphi XE2
BeitragVerfasst: Mi 21.10.15 14:42 
Hallo Martok,

dort steht, daß das fehlende Modul im Pfad des Programmes sein soll. Ich habe aber dort keine DLL's. Werder bei 32 noch bei 64bit.

lg Jens