Ich versuche, ein kleines Betriebssystem zu debuggen, das ich in einem Universitätskurs in C++ geschrieben habe. Zur Laufzeit wird irgendwo eines meiner Objekte beschädigt. Es scheint, dass dies passiert, weil versehentlich in die falsche Speicheradresse geschrieben wurde. Da ich nicht in der Lage bin, den Ort zu finden, an dem dies passiert, wenn ich den Code rein betrachte, brauche ich einen anderen Weg.Tracing Schreibzugriff auf Klasseninstanz/Speicherbereich in gdb
Da dies ein Betriebssystem ist, kann ich keine Tools wie Valgrind anhängen, aber ich kann es in Emulatoren (Bochs/Qemu) mit gdb angeschlossen ausführen.
Gibt es in gdb eine Möglichkeit, den Schreibzugriff auf eine Klasseninstanz oder allgemeiner einen bestimmten Speicherbereich zu verfolgen? Ich würde gerne brechen, sobald der Schreibzugriff eintritt, damit ich überprüfen kann, ob das gültig ist oder nicht.
verwandt: https://stackoverflow.com/questions/11004374/watch-a-memory-range-in-gdb –