Hallo zusammen,
ich versuche gerade vergeblich, eine dynamisch geladene eigene
DLL in meinem Programm zu deaktivieren (FreeLibrary), sie neu zu kompilieren und neu zu laden, aber leider funktioniert das nicht so wie erwartet.
- Laden der DLL: LoadLibrary
- Ent-Laden der DLL: FreeLibrary
- Ändern des Quellcodes
- Neu kompilieren der DLL (mit msbuild) in ein Temp-Verzeichnis
- Umbenennen der bisherigen DLL
- Verschieben der neuen DLL ins alte Verzeichnis
- Laden der DLL: LoadLibrary
Doch wenn ich die neue
DLL lade und eine Funktion aufrufe, erhalte ich immer noch das Ergebnis der alten
DLL.
Hmmm, vermutlich klappt das Ent-Laden nicht so ganz. Denn wenn ich dann das Programm schließe und neu starte, ist die neue Version der
DLL verfügbar. Wie kann ich denn überprüfen, ob die alte Version wirklich entladen ist? Gibt es ein (freies) Tool, mit dem man alle von einem Prozess geladenen DLLs gut und übersichtlich sehen kann, vielleicht sogar live, sodass ich das Ent-Laden nachverfolgen könnte?
Bin für jede Hilfe dankbar.
Viele Grüße
Harald