Есть ли способ получить доступ к управляемому отладчику в пакете Visual Studio - PullRequest
2 голосов
/ 17 сентября 2011

Я пытаюсь написать пакет Visual Studio, который показывает график живых объектов во время отладки.

Есть ли какой-либо способ доступа к данным управляемого отладчика из пакета VS 2010?Я знаю об API EnvDTE.Debugger, но он не предоставляет достаточно данных для моих случаев использования.

Я знаю, что это возможно с помощью WinDbg / SOS, но это не вариант для меня, как я хочучтобы иметь возможность использовать его красиво интегрированный.

Я действительно ценю любую информацию!

Редактировать:

Мои требования в основном таковы:

  1. Получить все объекты текущего стекового кадра, когда отладчик находится в режиме прерывания.
  2. Получить все объекты, на которые ссылается данный объект (т. Е. Его поля).
  3. Уникально идентифицировать объект, чтобы при нескольких объектахдля ссылки на один и тот же объект существует способ обнаружить, что на него ссылается только один объект.
  4. Делать все это, пока подключен отладчик VS, что эффективно убивает с помощью другого отладчика ...

Что я обнаружил до сих пор:

  • EnvDTE.Debugger не соответствует требованиям 2 и 3
  • Визуализатор отладчика не работает, потому что он работает только на сериализуемых объектах.jects
  • WinDbg не работает, так как он должен быть исключительно присоединен к процессу.

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

Не то, чтобы я знал ... Если я правильно понимаю ваши требования, это сложный вызов - вам придется как-то объединить EnvDTE.Debugger с Debugger5 и CLR Profiler (поставляется с исходным кодом!):

0 голосов
/ 23 сентября 2011

Как предложено в комментарии Саймона Мурье, я остановлюсь на сериализованном вручную отладочном подходе визуализатора .

Это единственный разумный способ сделать то, что я хочу сделать, хотя я еще не проверил это полностью.

...