2013-01-22 7 views
7

Ich habe eine std::map, die ein privates Mitglied einer Klasse ist. Einer seiner Werte wird geändert (wenn es nicht sollte) und ich kann nicht herausfinden, wo. Sobald die Karte zusammengestellt ist, wird das betreffende Element aufgrund der Art der verwendeten Schlüssel immer die letzte sein.Einen Datenhaltepunkt auf einem Element einer std :: map setzen

Ich versuche, einen Datenhaltepunkt auf das letzte Element (das sechste, um genau zu sein) in Visual Studio 2010, aber ich habe kein Glück. Ich habe die Header der beiden map und xtree (seine Basis) durchgesehen und kann kein geeignetes Mitglied für die Verwendung finden.

Kann jemand einen Datenhaltepunkt auf den Wert eines Elements in einem std::map setzen?

+0

Die einzige Sache, die in den Sinn kommt, wäre ein Hardware Breakpoint, aber das würde erfordern, dass Sie die Adresse der Karte kennen, sobald sie erstellt wird oder einfach als "statisch" deklarieren, die beide wahrscheinlich nicht funktionieren Fall. Ich bin sehr neugierig, wie ich das lösen kann. –

Antwort

1

Sie sollten in der Lage sein, den Debugger zu verwenden, um durch die Karte zu dem aktuellen Datenelement .second zu navigieren, und dann einen & vor dem erzeugten Ausdruck anzuheften. Dann lege diese Adresse in den Datenhaltepunkt und schau, ob du mehr Glück hast.

Verwandte Themen