Я хочу написать расширение для кода Visual Studio (VSCode), которое позволит мне отлаживать программу на C++ с помощью собственного отладчика C++ Visual Studio вместо gdb (который в настоящее время является единственным вариантом поддержки VSCode) , Я посмотрел на Visual Studio Debugger Extensibility. Но это только объясняет, как вы можете создать новый механизм отладки и вызвать его из Visual Studio в качестве интерфейса. Я хочу сделать наоборот. Я хочу назвать существующим Visual Studio C++ отладочным движком от переднего конца, который, случается, является VSCode. В Интернете нет документации, как я могу это достичь. Кто-нибудь может помочь?Отладка C++ с отладчиком Visual Studio
ответ
Я нахожусь в команде VSCode. Чтобы использовать отладчик VS из VSCode, вам нужно будет авторизовать расширение адаптера отладки. Here's some documentation on getting started, и here's the complete debug adapter protocol reference.
Попробуйте взглянуть на некоторых существующих реализаций для начала работы:
- Mock debugger - простой пример отладчик
- Node debugger - node.js отладочный адаптер
Для 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 не хорошо документирован и может быть не совсем то, что вам нужно, но он довольно мощный.
- 1. Как удаленная отладка с Delved отладчиком в Visual Studio Код
- 2. Visual studio 2012 - отладка
- 3. Отладка Q С отладчиком GDB
- 4. Проблема умножения с отладчиком Visual Studio для C#
- 5. Отладка программы Visual Studio C из другого проекта Visual Studio
- 6. Нужна удаленная отладка DLL с Visual Studio
- 7. Отладка Visual-studio
- 8. Отладка Visual Studio Issue
- 9. Visual Studio Отладка
- 10. Отладка Visual Studio Designer
- 11. Код Visual Studio - отладка
- 12. Visual Studio Отладка безумия!
- 13. Visual Studio - Отладка диалоговое
- 14. Отладка в Visual Studio
- 15. Visual Studio Function Отладка
- 16. Visual Studio Отладка собственности
- 17. Отладка Visual Studio WebApi
- 18. Отладка проблемы в Visual Studio 2015 C#
- 19. Отладка Wierdness Visual Studio C++ 2008
- 20. C++ Visual Studio отладка со стеком вызовов
- 21. Отладка неуправляемых изображений C++ в Visual Studio
- 22. Отладка проекта C++ в Visual Studio 2010
- 23. Код Visual Studio VSCode Отладка/компиляция C++
- 24. Отладка Visual Studio - родные типы
- 25. Visual Studio 2012 экспресс-отладка
- 26. Visual studio + удаленная отладка gdb
- 27. Отладка Visual Studio 2010 DLL Project
- 28. Отладка консольного приложения Visual Studio
- 29. Отладка и запуск Visual Studio
- 30. Общая отладка (Python Visual Studio)
Hi Matt. Я знаю о протоколе отладки VSCode и понимаю, что мне придется написать адаптер отладки. Проблема в том, что я точно не знаю, как мой Debug Adapter вызовет отладчик Visual Studio. Вот о чем я хочу помочь (это вопрос для команды визуальной студии) –
Извините, я полностью не понял, в какой части проблемы вы спрашиваете. Я добавил некоторые мысли, потребляющие отладчик VS C++ из внешней программы. Короче говоря, для Visual C++ я не уверен, что это возможно, но EnvDTE стоит того. Другие языки/отладчики имеют намного лучшие истории. –
Thanks Matt. Неудивительно, что в Интернете мало что по этому поводу. Я попытаюсь посмотреть на подход EnvDTE (хотя у меня мало надежды, потому что оно предназначено для автоматизации Visual Studio, а не отладочного движка). –