breakpoint Indossare funzione denominata
-
09-10-2019 - |
Domanda
C'è un modo per mettere un punto di interruzione qualsiasi funzione in Visual Studio, un po 'come bm kernel32!LoadLib*
in WinDbg?
So che un modo è quello di rompere all'avvio dell'applicazione, trovare l'indirizzo di carico DLL, aggiungendo poi offset funzione richiesta è possibile ottenere via Dipende, e creare un punto di interruzione indirizzo. Ma questo è molto lento, e il passaggio a WinDbg e ritorno è anche abbastanza fastidioso.
Forse c'è un modo migliore?
Soluzione
Vai a "Debug / Nuovo punto di interruzione / rottura in funzione ..." e incollare il nome della funzione.
Per le API, questo può essere difficile, come il nome della funzione come si è visto dal debugger è diverso dal suo vero nome.
Esempi:
{,,kernel32.dll}_CreateProcessW@40
{,,user32.dll}_NtUserLockWindowUpdate@4
Si veda questo post del blog per trovare il nome giusto: Impostazione di un punto di interruzione di Visual Studio su una funzione API Win32 in user32.dll