Memory breakpoint
-
Hallo
Ich suche nach einer eleganten Methode einen Memory-Breakpoint zu setzen.
Ich möchte Speicherzugriffe auf bestimmte Variablen loggen und dabei unterscheiden können, ob es eine Lese- oder Schreiboperation war.Würde mich über Anregungen freuen.
Grüße,
Ethon
-
http://sourceware.org/gdb/current/onlinedocs/gdb/Set-Watchpoints.html#Set-Watchpoints GDB hat so was: watch/rwatch/awatch
-
Danke
Ich hab jetzt auf die Schnelle nichts gefunden, wie implementiere ich das Selbst in C++ ? Würde ungern den GDB-Source durchkämmen
-
Also, ich beziehe mich natürlich auf Hardware-Breakpoints (x86 bzw x86_64 CPU).
Software-Breakpoints wären mir in der THeorie klar (ptrace und single-stepping) aber da mein Programm auch für leistungsintensive Applikationen gedacht ist geht das nicht.
-
Da wirds erklärt gibt auch noch ein paar andere nette Sachen da zum lernen...
http://www.codeproject.com/KB/debug/hardwarebreakpoint.aspx
http://www.codeproject.com/KB/security/AntiReverseEngineering.aspx
http://www.mp-hacks.de/forum/showthread.php?1761-Hardware-Breakpoints-und-M�glichkeitengreetz Nukacola