我有一個C++解決方案。啓動項目是一個exe。在該解決方案中,有許多C#dll(針對.NET Framework 2.0)爲COM互操作註冊。當我在C#代碼中放置一個斷點時,我得到了空心紅色斷點"No native symbols in symbol file"
通過COM從C++解決方案調試C#dll
我已經嘗試在調用COM方法的啓動項目上將Project Property Pages -> Debugging -> Debugger Type
設置爲Mixed。
我已檢查Debug -> Windows -> Modules
。它加載了我的dll,符號狀態爲"No native symbols in symbol file"
。
這不是世界末日,因爲如果我做Debug -> Start Without Debugging
然後Debug -> Attach to Process
,將Attach To:
更改爲Managed (v2.0, v1.1, v1.0) code, Native code
。然後我在C++代碼和C#代碼中都達到了斷點。
所以我有我的解決方法,但我認爲如果我可以通過附加到過程來做到這一點 - 我應該可以通過調試來完成。
如何通過只做Debug -> Start Debugging
來打我的C#斷點?
懷疑,有一個可行的辦法,我想一樣的,花了幾個小時試圖做的,現在終於如願以償堅持使用附加到進程的正常工作。 – SinisterMJ
公平,我沒有問題,使用附加處理它,只是其中一件事情,你不能離開它,因爲你認爲「肯定肯定有辦法」 – Liam
我也有這個問題,我猜根本問題在於「混合」選擇本機+託管(v4.0),因此無法從啓動設置中選擇本機+託管(v2.0)。 –