Programm stürzt beim Start ab



  • hallo zusammen

    ich programmiere gerade an meinem Programm und wollte es jemandem schicken, der es betrachten wollte, nun wenn er es startet, stürzt es direkt ab mit der Fehlermeldung: Visualisierung von ... hat ein Problem festgestellt und muss beendet werden...

    auf meinem Computer läufts natürlich und auf dem Laptop, wo ich es meist getestet habe funktioniert es, nach dem ich damals in der Konfiguration das Einbinden der Bibliotheken aktiviert habe....

    An was könnte es sonst liegen, was muss er überhaupt installiert haben, dass es eigentlich funktionieren müsste.

    ich hab im Internet gesucht, aber trotzdem nur bekommen, wie man den Fehler à la "muss neuinstalliert werden" beheben könne.

    danke schon mal...



  • Hallo,

    klassischer Fall für den Dependency Walker 🙂

    Gruss
    foodax



  • danke schon mal...

    ich habs jetzt mal auf einem anderen WinXP, bei dem es auch nicht geht, getestet und er findet die DWMAPI.DLL und EFSADU.DLL nicht und im Log steht:

    At least one delay-load dependency module was not found.
    At least one module has an unresolved import due to a missing export function in a delay-load dependant module
    

    Ich nehme an, das ist wegen den zwei fehlenden Dateien....
    Wie kann ich die jetzt einbinden?


  • Mod

    Nö! Ein Delayload würde diese Fehlermeldung nicht verursachen.

    Starte das Program mal über den Dependency Walker und alss Dir anzeigen was er laden will.



  • ok, habe das Programm mal auf meinem "Programmierrechner" durchgeführt und er bringt die gleichen Fehlermeldungen, nur dass die zwei besagten Dateien gefunden werden, dafür die GPSVC.DLL nicht.

    welche Informationen müsste ich noch aus dem Dependency Walker rausnehmen und wie könnte ich es dann beheben?



  • Hallo,

    hast Du Deine exe auch mit dem Profiler gestartet? Er sollte Dir sehr genau protokollieren wie weit er kommt. Im Zweifelsfall mal den relevanten Teil der Profiling-Logs hier posten

    Gruss
    foodax



  • was für ein Profiler soll ich nehmen? im internet habe ich zwar gelesen, dass im visual c++ unter build/profiler das Programm zu finden wäre...
    ich habe es aber auf Deutsch und dort ist unter "erstellen" ein Punkt "Profilgesteuerte Optimierung" und die Unterpunkte sind Instrumentieren, Aktualisieren, Optimieren und Instrumentiert/optimiert Anwendung ausführen...

    das andere ist, ich müsste es ja auf dem anderen Computer ausführen...


  • Mod

    Renzo schrieb:

    was für ein Profiler soll ich nehmen?

    👎 hast Du Dir mal die Menüpunkte in Depends.exe angesehen?
    Da gibt es Profile. Damit kannst Du dynamisch sehen, was Deine EXE wann wie lädt und was schief geht.



  • entschuldigung, hab ich leider nicht gesehen...

    wenn ich ein lauffähiges Programm damit starte, erscheint es und der Profiler läuft im Hintergrund weiter, wenn ich das Problemprojekt öffne erscheint einfach eine zweite Instanz des depends.exe, Fehler die er anzeigt sind:

    GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") called from "DEPENDS.EXE" at address 0x00457364 and returned NULL. Error: The specified procedure could not be found (127).
    GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsGetValue") called from "DEPENDS.EXE" at address 0x00457371 and returned NULL. Error: The specified procedure could not be found (127).
    GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsSetValue") called from "DEPENDS.EXE" at address 0x0045737E and returned NULL. Error: The specified procedure could not be found (127).
    GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsFree") called from "DEPENDS.EXE" at address 0x0045738B and returned NULL. Error: The specified procedure could not be found (127).
    ...
    GetProcAddress(0x7C800000 [KERNEL32.DLL], "IsTNT") called from "SYNTPFCS.DLL" at address 0x63002961 and returned NULL. Error: The specified procedure could not be found (127).
    ...
    GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetProductInfo") called from "DEPENDS.EXE" at address 0x00406947 and returned NULL. Error: The specified procedure could not be found (127).
    ...
    GetProcAddress(0x755C0000 [MSCTFIME.IME], "ImeGetImeMenuItems") called from "IMM32.DLL" at address 0x76397374 and returned NULL. Error: The specified procedure could not be found (127).
    

    Nachher erscheint noch:

    GetProcAddress(0x755C0000 [MSCTFIME.IME], "CtfImeInquireExW") called from "IMM32.DLL" at address 0x763973B4 and returned 0x755D9533.
    GetProcAddress(0x755C0000 [MSCTFIME.IME], "CtfImeSelectEx") called from "IMM32.DLL" at address 0x763973C8 and returned 0x755D92B0.
    GetProcAddress(0x755C0000 [MSCTFIME.IME], "CtfImeEscapeEx") called from "IMM32.DLL" at address 0x763973DC and returned 0x755D96E9.
    GetProcAddress(0x755C0000 [MSCTFIME.IME], "CtfImeGetGuidAtom") called from "IMM32.DLL" at address 0x763973F0 and returned 0x755D9722.
    GetProcAddress(0x755C0000 [MSCTFIME.IME], "CtfImeIsGuidMapEnable") called from "IMM32.DLL" at address 0x76397404 and returned 0x755D9305.
    GetProcAddress(0x77F10000 [GDI32.DLL], "GetLayout") called from "USP10.DLL" at address 0x74DAC98E and returned 0x77F16B2E.
    GetProcAddress(0x77F10000 [GDI32.DLL], "GdiRealizationInfo") called from "USP10.DLL" at address 0x74DA5AED and returned 0x77F3E684.
    GetProcAddress(0x77F10000 [GDI32.DLL], "FontIsLinked") called from "USP10.DLL" at address 0x74DA76DD and returned 0x77F51756.
    GetProcAddress(0x77F10000 [GDI32.DLL], "GetFontAssocStatus") called from "USP10.DLL" at address 0x74DAC9C9 and returned 0x77F467A2.
    GetProcAddress(0x77F10000 [GDI32.DLL], "GetTextExtentExPointWPri") called from "USP10.DLL" at address 0x74DC45E1 and returned 0x77F3DFC6.
    GetProcAddress(0x5D090000 [COMCTL32.DLL], "InitCommonControlsEx") called from "DEPENDS.EXE" at address 0x00436263 and returned 0x5D093619.
    GetProcAddress(0x5D090000 [COMCTL32.DLL], "DllGetVersion") called from "DEPENDS.EXE" at address 0x00447605 and returned 0x5D0FABAB.
    GetProcAddress(0x7E410000 [USER32.DLL], "NotifyWinEvent") called from "COMCTL32.DLL" at address 0x5D0A4A83 and returned 0x7E41BFF3.
    GetProcAddress(0x77F60000 [SHLWAPI.DLL], "PathRemoveExtensionA") called from "DEPENDS.EXE" at address 0x0042F57C and returned 0x77FA704E.
    GetProcAddress(0x77F10000 [GDI32.DLL], "GetLayout") called from "COMCTL32.DLL" at address 0x5D0A513A and returned 0x77F16B2E.
    GetProcAddress(0x7C900000 [NTDLL.DLL], "RtlDllShutdownInProgress") called from "MSCTF.DLL" at address 0x7475EEA0 and returned 0x7C9276A8.
    

    und dann wartet er bis ich die zweite Instanz geschlossen habe.


Log in to reply