Debuggen von Daten in "anonymen Namespaces" (C ++)

Kürzlich habe ich eine Crash-Dump-Datei von einem Kunden erhalten. Ich konnte das Problem bis zu einer Klasse aufspüren, die falsche Daten enthalten könnte, aber ich habe nur einen Leerenzeiger auf die Klasse erhalten, keinen echten Zeiger (Leerenzeiger stammte von einer Fenstereigenschaft, daher war es ein Leerenzeiger) . Leider befand sich die Klasse, auf die ich den Zeiger umwandeln wollte, in einem anonymen Namespace wie diesem:

namespace
   {
   class MyClass
      {
      ...
      };
   }

...
void *ptr = ...
// I know ptr points to an instance of MyClass,
// and at this location I want to cast ptr to (MyClass *) in the debugger.

Verwenden von "ptr" im Überwachungsfenster, wenn Visual Studio 2005 nur den Zeigerwert anzeigt. Wenn ich "(MyClass *) ptr" verwende, teilt mir der Debugger mit, dass keine Umwandlung in diese Datei möglich ist.

Wie kann ich den ptr in einen MyClass-Zeiger umwandeln?

Hinweis: Ich könnte eventuell einen albern benannten Namespace (wie den Namen der Quelldatei) und dann einen "using-Namespace" verwenden, aber ich würde bessere Lösungen erwarten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage