Реализация поддержки отладчика: выбор API отладки - PullRequest
2 голосов
/ 19 июля 2009

.NET Framework имеет неуправляемые отладки и профилирования API, с которыми, я полагаю, знакомы люди / компании. Если кто-то реализовывал поддержку отладчика и профилировщика для новой среды CLI CL:

  • Каковы плюсы / минусы базовой работы этих существующих API?
  • Эти API-интерфейсы сохраняют обратную совместимость2, увеличивая номера расширений интерфейса, чтобы указать поддержку более поздних функций. У меня была бы возможность объединить эти интерфейсы и удалить устаревшие методы, поскольку нет «обратной» совместимости. Это было бы хорошей идеей? Интересным моментом здесь является то, что это не устранит совместимость исходного кода с существующими отладчиками, поскольку моя система потребует, чтобы отладчик был реализован в управляемом коде и управляемом API, а существующие написаны в неуправляемом коде.
  • Существуют ли другие документированные API отладки / профилирования? Является ли их набор функций таким же полным, как упомянутые выше?

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

² Я не могу найти ссылку, описывающую это, но она также широко используется в API Visual Studio. Мне кажется, я видел это в документе «Руководство по именованию COM-интерфейса»? Вы видите его как интерфейс ICorDebugClass2, отображающий расширение интерфейса ICorDebugClass без изменения оригинала.

1 Ответ

3 голосов
/ 21 июля 2009

Я работаю с API профилирования, поэтому большинство моих комментариев касается профилировщика CLR.
Документация MSDN очень плохая. Вы получите общее описание того, что делает метод или класс, и краткое описание аргументов метода. Нет примеров.
Если вам повезет, вы можете найти блог о своей проблеме.

Вот некоторые ссылки, которые могут быть полезны с API профилировщика:
Этот журнал MSDN artical - старая, но хорошая отправная точка.
Блог Дэвида Бормана - обновляется не очень часто, но информация стоит золота:)
Блог команды CLR - Обновление несколько раз в месяц.
Ротор Исходный код CLR
И вы всегда можете попытаться написать письмо команде CLR, если вы застряли, они действительно были очень полезны, когда мы нуждались в их помощи.

О проблемах совместимости: Не уверен, что я понимаю, что вы спрашиваете здесь, я знаю следующее:
Если вам не нужно поддерживать предыдущие версии, перейдите к последней версии CLR 4. CLR 4 включает в себя некоторые важные изменения (несколько экземпляров CLR могут выполняться бок о бок в одном и том же процессе). Прочитайте этот пост и решите, как с этим бороться

моя система требует, чтобы отладчик был реализован в управляемом коде и управляемом API, а существующие написаны в неуправляемом коде.

Насколько я знаю, вы можете скачать исходный код API управляемой оболочки для API отладчика. (Не могу найти ссылку сейчас)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...