DLL Debuggen mit Visual C++ 2008 Express



  • Hallo,

    ich möchte eine DLL debuggen, für die ich nur eine Exe ohne Source und Debug-Symbole habe.

    Ich habe einen Haltepunkt in der DllMain Funktion gesetzt. Leider kommt der Debugger dort nie an. Im Ausgabefenster sehe ich, dass die DLL geladen wird und gleich wieder entladen. Die Exe mag die DLL also aus irgend einen Grund nicht. Wie sie das erkennt, ohne die DllMain aufzurufen ist mir zwar schleierhaft, aber ich sehe keine andere Möglichkeit das herauszubekommen, als direkt am Runtime-DLL-Einsprung ein Haltepunkt zu setzen. Leider weiss ich nicht wie das geht.

    Deshalb bitte ich euch um Hilfe.



  • Ich habe selbst eine Lösung gefunden. Einfach ein neues Projekt eingefügt:

    #include "stdafx.h"
    #include <windows.h>
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        HMODULE mDllHandle;
    	mDllHandle = ::LoadLibrary(TEXT("DLLName.dll"));
    	return 0;
    }
    

    Beim Laden kommt dann eine ordentliche Fehlermeldung, die anzeigt warum die DLL nicht geladen werden kann. Manchmal kommt man auf das Einfachste zuletzt...


Anmelden zum Antworten