2013-04-13 7 views
6

Quello che sto cercando di fare è monitorare le modifiche del valore della memoria ad alcuni indirizzi specifici, come legare una funzione callback all'evento 'onChange'.Come impostare i punti di interruzione a livello di codice in Visual C++?

Un'idea per ora che posso pensare è utilizzare il punto di interruzione di scrittura della memoria. Quindi, come manipolare i punti di interruzione a livello di codice in Visual C++?

+0

Si desidera impostare i breakpoint in fase di esecuzione? - Perché non usi i breakpoint condizionali? – deepmax

+0

@MM. Voglio farlo nel mio codice, non nel debugger –

+0

http://stackoverflow.com/a/1261763/1762344, http://stackoverflow.com/a/8008943/1762344 –

risposta

4

Se è necessario passare al debugger, utilizzare la funzione DebugBreak, se necessario sotto un blocco #ifdef _DEBUG#endif

+1

Questo è spesso utile, ma NON è un punto di rottura dei dati. –

+1

Anche '_DEBUG' è irrilevante. La cosa giusta è usare 'IsDebuggerPresent' – ZAB

0

È inoltre possibile inserire nel codice:

__asm ​​{int 3}

Se si esegue sotto la VS debugger, che invocherà il gestore di breakpoint.

UPDATE: in realtà è lo stesso che utilizzare il __debugbreak instrinsic MSVC (http://msdn.microsoft.com/en-us/library/f408b4et.aspx)

+1

Questo è spesso utile, ma NON è un punto di interruzione dei dati. –

Problemi correlati