2010-10-19 10 views
9

Gibt es eine Möglichkeit, einen Haltepunkt für jede Funktion in Visual Studio, wie bm kernel32!LoadLib* in WinDbg?Setzen Sie Haltepunkt auf benannte Funktion

Ich weiß, eine Möglichkeit ist, beim Start der Anwendung zu brechen, finden Sie die erforderliche DLL laden Adresse, dann Offset zur erforderlichen Funktion können Sie über Abhängigkeiten erhalten, und erstellen Sie einen Haltepunkt auf Adresse. Aber das ist wirklich langsam und der Wechsel zu WinDbg und zurück ist auch ziemlich nervig.

Vielleicht gibt es einen besseren Weg?

Antwort

14

Gehen Sie zu "Debug/Neuer Haltepunkt/Break at function ..." und fügen Sie den Funktionsnamen ein.

Für APIs kann dies schwierig sein, da sich der Name der Funktion, wie er vom Debugger gesehen wird, von seinem echten Namen unterscheidet. Beispiele
:

{,,kernel32.dll}[email protected] 
{,,user32.dll}[email protected] 

dieses Blog-Post Sehen Sie den richtigen Namen zu finden: Setting a Visual Studio breakpoint on a Win32 API function in user32.dll

+1

API-Funktionen waren genau das, was ich brauchte, danke! Ich wünschte nur, es gäbe einen leichteren Weg, den dekorierten Namen zu finden ... – Coder