我想寫一個Visual Studio代碼(VSCode)的擴展,它允許我使用Visual Studio的本地C++調試器而不是gdb調試C++程序(目前它是VSCode支持的唯一選項) 。我看着Visual Studio Debugger Extensibility。但它只解釋瞭如何創建一個新的調試引擎,並將其從Visual Studio作爲前端進行調用。我想要做的是相反的。我想從不同的前端調用現有的 Visual Studio C++調試引擎,這恰好是VSCode。互聯網上沒有任何文檔可以實現這一目標。任何人都可以幫忙嗎?使用Visual Studio調試器調試C++
0
A
回答
1
我在VSCode團隊。要使用VSCode中的VS調試器,您需要編寫調試適配器擴展。 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++沒有公共API或接口,允許外部程序輕鬆地與它們接口。其他語言有更好的故事,因爲它們經常利用外部庫或者設計有記錄的調試器協議。該GDB machine interface是這種設計的一個很好的例子
我最好的建議是,你可以嘗試以利用[Visual Studio的Env.DTE接口( https://msdn.microsoft.com/en-us/library/envdte.debugger.aspx)以編程方式控制VS。 EnvDTE沒有很好的文檔記錄,可能並不完全符合你的要求,但它非常強大。
相關問題
- 1. Visual Studio調試
- 2. 調試叉與Visual Studio [C]
- 3. Wierdness調試Visual Studio C++ 2008
- 4. Visual Studio圖形調試器
- 5. Visual Studio調試器問題
- 6. Visual Studio調試迭代器
- 7. Visual Studio調試器問題
- 8. Visual Studio 2010調試器
- 9. Visual Studio測試機調試器
- 10. 的Visual Studio調試
- 11. Visual Studio 2008調試
- 12. Visual Studio未調試
- 13. Visual Studio 2012 - 調試
- 14. visual studio 2012調試器不起作用
- 15. 用IE瀏覽器調試Visual Studio
- 16. Visual Studio在調試時不調用Application_End
- 17. 使用autoexp.dat和DLL擴展Visual Studio 2003 C++調試器
- 18. 使用Visual Studio 2008調試Sitecore 6
- 19. 使用Console2進行Visual Studio調試?
- 20. 如何使用Visual Studio調試ISAPI
- 21. IE7使用Visual Studio Express進行調試
- 22. 無法使用Visual Studio 2010調試XBAP
- 23. 在Visual Studio(或其他JS調試器)中調試Javascript
- 24. C#範圍和visual studio調試
- 25. Visual Studio在C++中調試錯誤
- 26. 從PyCharm調試到Visual Studio C++代碼
- 27. Visual Studio包調試時不調用Visual Studio包Initialize方法
- 28. 調試存儲過程,而不使用SSMS 2008調試器,或Visual Studio調試器(輸出變量值?)
- 29. 調試Visual Studio 2010模板
- 30. 跳過調試點 - visual studio
嗨馬特。我知道VSCode的調試協議,並明白我必須編寫一個調試適配器。問題是我不知道我的調試適配器將如何調用Visual Studio的調試引擎。這就是我想要的一些幫助(對於視覺工作室團隊來說這是一個問題) –
對不起,我完全誤解了你所問的問題的部分內容。我已經添加了一些從外部程序中使用VS C++調試器的想法。總之,對於Visual C++,我不確定這是否可行,但EnvDTE值得一試。其他語言/調試器有更好的故事 –
謝謝馬特。難怪互聯網上沒有太多關於這個問題。我會試着看看EnvDTE的方法(儘管我沒有什麼希望,因爲它意味着自動化Visual Studio而不是調試引擎)。 –