我正在尝试调试我在C++大学课程中编写的小型操作系统.在运行时某处我的一个对象被破坏了.这似乎是由于意外写入错误的内存地址而发生的.由于我无法从纯粹的代码中找到发生这种情况的地方,我需要另一种方式.
由于这是一个操作系统,我无法附加像valgrind这样的工具,但我可以在附加了gdb的模拟器(bochs/qemu)中运行它.
在gdb中是否有一种方法可以跟踪对类实例的写访问,或者更一般的特定内存范围?我想在写入访问发生后立即中断,因此我可以验证这是否有效.
c++ debugging trace gdb
c++ ×1
debugging ×1
gdb ×1
trace ×1