Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set breakpoints programmatically in Visual C++?

What I am trying to do is to monitor memory value changes at some specific addresses, like binding a callback func to the 'onChange' event.

One idea for now that I can think up is to use memory write breakpoint. So how to manipulate breakpoints programmatically in Visual C++?

like image 508
Mickey Shine Avatar asked Apr 13 '13 09:04

Mickey Shine


3 Answers

If you need to break into the debugger, use the DebugBreak function, if necessary under a #ifdef _DEBUG #endif block

like image 51
Edward Clements Avatar answered Nov 01 '22 01:11

Edward Clements


Microsoft do provide a breakpoint interface which can be used for this purpose, have a look at http://msdn.microsoft.com/en-us/library/vstudio/envdte.breakpoint.aspx and http://msdn.microsoft.com/en-us/library/envdte80.breakpoint2(v=vs.80).aspx

like image 41
Saqlain Avatar answered Nov 01 '22 01:11

Saqlain


You can also place in your code:

__asm { int 3 }

If you are running under the VS debugger, that will invoke the breakpoint handler.

UPDATE: Actually it is the same than using the MSVC instrinsic __debugbreak (http://msdn.microsoft.com/en-us/library/f408b4et.aspx)

like image 1
Fernando Gonzalez Sanchez Avatar answered Nov 01 '22 00:11

Fernando Gonzalez Sanchez