[英]How do I attach a debugger to other process than I start in Visual Studio 2017?
我必須處理的架構非常復雜:本機C ++ Windows服務創建一個進程外COM對象(本機C ++,帶有context = CLSCTX_LOCAL_SERVER的CoCreateInstance),它動態加載(AfxLoadLibrary)我的C#DLL。
當我單擊Debug - > Start Debugging時,我想調試我的DLL。
我知道當我使用Debug - > Attach to process附加到COM對象進程時我可以調試它我可以在我的DLL代碼中使用System.Diagnostics.Debugger.Launch()
如果我需要調試啟動但這些選項都不起作用自動。
我也試過這個技術: https : //docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/a329t4ed(v=vs.100)但是COM進程作為SYSTEM用戶運行所以我無法選擇我的現有Visual Studio解決方案與我的C#項目用作調試器,我只能啟動一個只加載EXE的新實例。
我也嘗試了“啟動外部程序”,但我需要啟動的是一個不是我想要調試的進程的服務,因為我的DLL在另一個進程(COM-one)中運行。 因此,一旦服務啟動,調試就會停止(因為我使用腳本運行它,這可能是一個問題)。
我沒有看到完全使用標准Visual Studio功能自動完成它的選項。 所以我建議你寫一個簡單的Visual Studio擴展 。 只需使用模板並在菜單或某個自定義窗口中添加一個按鈕,點擊該按鈕即可:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.