Debugowanie danych w „anonimowych przestrzeniach nazw” (C ++)

Ostatnio dostałem plik zrzutu awaryjnego od klienta. Mogłem śledzić problem do klasy, która może zawierać niepoprawne dane, ale dostałem tylko wskaźnik void do klasy, a nie prawdziwy wskaźnik (wskaźnik void-pochodził z właściwości window, dlatego był to wskaźnik pustki) . Niestety klasa, do której chciałem rzucić wskaźnik, była w anonimowej przestrzeni nazw:

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.

Używanie „ptr” w oknie zegarka, jeśli Visual Studio 2005 pokazuje tylko wartość wskaźnika. Jeśli używam „(MyClass *) ptr”, debuger mówi mi, że nie może na niego rzucić.

Jak mogę rzucić ptr na wskaźnik MyClass?

Uwaga: W końcu mógłbym użyć głupiej nazwanej przestrzeni nazw (jak nazwa pliku źródłowego), a następnie użyć „używając przestrzeni nazw”, ale oczekiwałbym lepszych rozwiązań.

questionAnswers(2)

yourAnswerToTheQuestion