Wie breakpoints zu setzen programmgesteuert in Visual C++?
Was ich versuche zu tun, ist die überwachung von Speicher-Wert-Veränderungen an einigen bestimmten Adressen, wie verbindlich eine callback func, um das 'onChange' - Ereignis.
Eine Idee für das jetzt, dass ich denken kann, ist die Verwendung von im Speicher schreiben Haltepunkt. So, wie Sie zu manipulieren Haltepunkte programmgesteuert in Visual C++?
- Sie möchten Haltepunkte zur Laufzeit? - Warum Sie nicht die Verwendung von bedingten breakpoints?
- Ich möchte das in meinem code, nicht in den debugger
- stackoverflow.com/a/1261763/1762344 , stackoverflow.com/a/8008943/1762344
Du musst angemeldet sein, um einen Kommentar abzugeben.
Microsoft ein Haltepunkt-Schnittstelle und kann für diesen Zweck verwendet werden, haben Sie einen Blick auf http://msdn.microsoft.com/en-us/library/vstudio/envdte.breakpoint.aspx und http://msdn.microsoft.com/en-us/library/envdte80.breakpoint2(v=vs. 80).aspx
Wenn Sie brauchen, um in den debugger unterbrechen, verwenden Sie die DebugBreak Funktion, wenn notwendig, unter einem
#ifdef _DEBUG
#endif
block_DEBUG
ist, spielen keine Rolle. Die richtige, was ist die VerwendungIsDebuggerPresent
Ich habe großen Erfolg mit die hwbrk Projekt.
Können Sie auch Platz in deinem code:
__asm { int 3 }
Wenn Sie unter den VS-debugger, der ruft den breakpoint handler.
UPDATE:
Eigentlich ist es das gleiche als mit dem MSVC instrinsic __debugbreak (http://msdn.microsoft.com/en-us/library/f408b4et.aspx)