我在調試SolidWorks Enterprise PDM插件時遇到了問題。我不知道EPDM中的插件是如何處理的,但這個問題似乎與Visual Studio有關 - 也許其他人與其他平臺的插件有類似的問題。Visual Studio 2012 Express調試explorer.exe - 沒有發生斷點
添加調試插件(以便使用最新的源代碼):
在Visual Studio 2010速成有沒有問題 - 殺探險家,啓動它,重視它和:
我無法通過Visual Studio 2012 Express實現。雖然它看起來是它的調試資源管理器(文件是隻讀的,停止調試按鈕顯示),它沒有命中斷點:
我在Windows 7 Professional x64上工作。插件是使用.NET 3.5構建的。我已經使用VS2010和VS2012解決方案都有同樣的問題。
我重新啓動explorer.exe,因此加載了最新版本的插件。項目使用啓動動作「explorer.exe」:
<StartAction>Program</StartAction>
<StartProgram>$(windir)\explorer.exe</StartProgram>
<StartArguments></StartArguments>
我不知道爲什麼斷點沒有命中,任何幫助非常感謝。
謝謝!
更新1
我查了一下漢斯建議 - 還有其他啓動兩個進程,而是連接到它們沒有造成任何東西。
這指出了一件事 - 當我附加到這些進程時,VisualStudio中有一個信息,斷點不會被擊中,因爲沒有調試符號被加載 - 注意在the third image attached調試符號被加載(紅色圓圈填滿,沒有感嘆號)。
更新2
當我的VisualStudio連接到管理的explorer.exe - 斷點被擊中!
看來,Explorer.exe的是在託管模式下運行只是有時:
它甚至可以在兩種模式下並排運行:
所以現在的問題是如何給力的VisualStudio在託管模式下啓動explorer.exe?
更新3
它是一個可能的VisualStudio 2012錯誤?
使用VS2010進行調試時,瀏覽器以正常模式啓動,但一旦加載插件被加載,它將切換到託管模式,並且VS2010停止在斷點處。
與VS2012不同 - 當加載插件被加載時,explorer.exe不會被切換到託管模式,因此?(它被連接?)斷點不會被命中。
但是,當VS2012連接到已處於託管模式的explorer.exe時,它會停在斷點處。
UPDATE 4
我已經成功地到達問題的本質 - 與附着VS2012當向其他處理(例如explorer.exe的)「自動確定的代碼的類型調試」選擇」和該進程以本機模式啓動,並在一段時間後加載託管代碼 - 調試程序不會停止在斷點處當進程在附加或附加明確選擇的代碼類型時已處於受管模式(「 Managed(v3.5,v3.0,v2.0)「) - 調試器停在斷點處。
已發佈在connect - 正在等待解決方案。如果您遇到與此更新中所述相同的問題,請投票。
UPDATE 5
我剛剛測試了a simple managed shell extension,所以它不是的SolidWorks Enterprise PDM的 - 有關。我也發佈了a more precise bug連接。
UPDATE 6
截至2013年年初微軟聲稱,它是預期調試器不表現一個設計決策的。第一個連接錯誤報告中的更多細節。
它使殺死並重新啓動資源管理器來調試供應商特定的插件模型非常有意義。改爲啓動供應商的應用程序。聯繫該供應商尋求支持。 –
EPDM安裝爲Windows資源管理器擴展 - 這就是爲什麼我正在調試explorer.exe(它適用於VS2010)。我將驗證是否有其他任何以它開始的進程。 – marchewek