Setzen Sie Haltepunkt auf benannte Funktion
-
09-10-2019 - |
Frage
Gibt es eine Möglichkeit, einen Haltepunkt auf eine beliebige Funktion in Visual Studio zu setzen, Art wie bm kernel32!LoadLib*
in WinDbg?
Ich kenne einen Weg, bei Start der Anwendung zu brechen ist, finden die erforderliche DLL Ladeadresse, dann auf die gewünschte Funktion Offsetzumischung Sie über Hängt bekommen können, und einen Haltepunkt auf Adresse erstellen. Aber das ist wirklich langsam und zu WinDbg hin- und herschalten ist auch ziemlich ärgerlich.
Vielleicht gibt es einen besseren Weg?
Lösung
Gehen Sie zu "Debug / New Breakpoint / Break at Funktion ..." und die Funktionsnamen eingefügt werden.
Für APIs kann dies schwierig sein, wie der Name der Funktion, wie durch den Debugger gesehen von seinem wirklichen Namen unterscheidet.
Beispiele:
{,,kernel32.dll}_CreateProcessW@40
{,,user32.dll}_NtUserLockWindowUpdate@4
Sehen Sie dieses Blog-Post den richtigen Namen zu finden: ein Visual Studio-Haltepunkt für eine API-Funktion Win32 Einstellung in user32.dll