2016-12-06 2 views
0

Я хочу написать расширение для кода Visual Studio (VSCode), которое позволит мне отлаживать программу на C++ с помощью собственного отладчика C++ Visual Studio вместо gdb (который в настоящее время является единственным вариантом поддержки VSCode) , Я посмотрел на Visual Studio Debugger Extensibility. Но это только объясняет, как вы можете создать новый механизм отладки и вызвать его из Visual Studio в качестве интерфейса. Я хочу сделать наоборот. Я хочу назвать существующим Visual Studio C++ отладочным движком от переднего конца, который, случается, является VSCode. В Интернете нет документации, как я могу это достичь. Кто-нибудь может помочь?Отладка C++ с отладчиком Visual Studio

ответ

1

Я нахожусь в команде VSCode. Чтобы использовать отладчик VS из VSCode, вам нужно будет авторизовать расширение адаптера отладки. Here's some documentation on getting started, и here's the complete debug adapter protocol reference.

Попробуйте взглянуть на некоторых существующих реализаций для начала работы:

Для C++, а также проверить C++ tools for VSCode.

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


Редактировать - Кажется, я понял проблему. Вот несколько соображений по поводу использования отладчика VS C++ из внешнего приложения.

Насколько я знаю, Visual C++ не имеет общедоступных apis или интерфейсов, которые позволяют внешним программам легко взаимодействовать с ними. Другие языки имеют лучшие истории, поскольку они часто используют внешние библиотеки или были разработаны с документальными протоколами отладчика. GDB machine interface является хорошим примером такого рода дизайна

Мое лучшее предложение, что вы могли бы попытаться использовать в [интерфейсы с Visual Studio, Env.DTE] ( https://msdn.microsoft.com/en-us/library/envdte.debugger.aspx) для управления VS программно. EnvDTE не хорошо документирован и может быть не совсем то, что вам нужно, но он довольно мощный.

+0

Hi Matt. Я знаю о протоколе отладки VSCode и понимаю, что мне придется написать адаптер отладки. Проблема в том, что я точно не знаю, как мой Debug Adapter вызовет отладчик Visual Studio. Вот о чем я хочу помочь (это вопрос для команды визуальной студии) –

+0

Извините, я полностью не понял, в какой части проблемы вы спрашиваете. Я добавил некоторые мысли, потребляющие отладчик VS C++ из внешней программы. Короче говоря, для Visual C++ я не уверен, что это возможно, но EnvDTE стоит того. Другие языки/отладчики имеют намного лучшие истории. –

+0

Thanks Matt. Неудивительно, что в Интернете мало что по этому поводу. Я попытаюсь посмотреть на подход EnvDTE (хотя у меня мало надежды, потому что оно предназначено для автоматизации Visual Studio, а не отладочного движка). –

Смежные вопросы