我想寫一個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調試
- 3. 調試叉與Visual Studio [C]
- 4. Wierdness調試Visual Studio C++ 2008
- 5. Visual Studio圖形調試器
- 6. Visual Studio 2010調試器
- 7. 調試Visual Studio鏈接器
- 8. Visual Studio調試器問題
- 9. Visual Studio調試器問題
- 10. Visual Studio調試器問題
- 11. Visual Studio調試迭代器
- 12. Visual Studio C++調試器,從地址
- 13. 調試器C#或Visual Studio中打印調試信息
- 14. Visual Studio測試機調試器
- 15. 調試在Visual Studio
- 16. 的Visual Studio調試
- 17. Visual Studio 2008調試
- 18. Visual Studio 2012 - 調試
- 19. Visual Studio未調試
- 20. visual studio 2012調試器不起作用
- 21. 用IE瀏覽器調試Visual Studio
- 22. 如何啓用從C#調用Visual Studio C++調試
- 23. Visual Studio在調試時不調用Application_End
- 24. 使用autoexp.dat和DLL擴展Visual Studio 2003 C++調試器
- 25. 使用Visual Studio 2010調試SharePoint XSLT
- 26. 使用Visual Studio 2010調試ActiveX控件
- 27. 如何使用Visual Studio調試ISAPI
- 28. IE7使用Visual Studio Express進行調試
- 29. 使用Console2進行Visual Studio調試?
- 30. 無法使用Visual Studio 2010調試XBAP
嗨馬特。我知道VSCode的調試協議,並明白我必須編寫一個調試適配器。問題是我不知道我的調試適配器將如何調用Visual Studio的調試引擎。這就是我想要的一些幫助(對於視覺工作室團隊來說這是一個問題) –
對不起,我完全誤解了你所問的問題的部分內容。我已經添加了一些從外部程序中使用VS C++調試器的想法。總之,對於Visual C++,我不確定這是否可行,但EnvDTE值得一試。其他語言/調試器有更好的故事 –
謝謝馬特。難怪互聯網上沒有太多關於這個問題。我會試着看看EnvDTE的方法(儘管我沒有什麼希望,因爲它意味着自動化Visual Studio而不是調試引擎)。 –