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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top