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?

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top