28. April 2017 | lukas | Leave a comment Beim Entwickeln kann es schnell mal sein, dass ein Buffer ungewollt über den allokierten Bereich überschrieben wird. Um einen Fehler dieser Art zu finden, bieten sich Tools von Mircosoft an: https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit Hat man die Tools installiert geht man mit der Konsole an folgend Ort: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86 dort ruft man gflags.exe /p auf, um zu sehen welche Programme (Binaries) gerade überwacht werden. Als nächsten Schritt müssen wir unser Programm einfügen (mit absolutem Pfad), PATH ist zu ersetzen gflags.exe /p /full /enable PATH Jetzt starten wir die Debug-Gui aus dem gleichen Ordner (C:\Program Files (x86)\Windows Kits\10\Debuggers\x86) mit dem Namen windbg.exe Ist das Programm gestartet kann man entweder einen laufenden Prozess (nicht aus anderer Debugging-Umgebung, sondern direkt gestartet) auswählen oder den Prozess direkt mit dem Windows Debugger starten. Für den zweiten Fall kann die Session mit F5 gestartet werden. Sobald der Heap-Error auftritt wird der entsprechende Code im Debugger angezeigt und die betroffene Zeile markiert. Zum Schluss sollte die Überwachung wieder beendet werden, dies geschieht mit gflags.exe /p /full /disable EXECUTEABLE wobei hier nur der EXECUTEABLE Name angegeben werden muss und nicht der komplette Pfad Quellen https://blog.kowalczyk.info/article/1j9/gflags-a-debugging-story.html https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit Teilen mit:Klick, um über Twitter zu teilen (Wird in neuem Fenster geöffnet)Klick, um auf Facebook zu teilen (Wird in neuem Fenster geöffnet)Gefällt mir:Gefällt mir Wird geladen... Ähnliche Beiträge