HOW TO:在混合模式偵錯
更新:2007 年 11 月
這個主題適用於:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express 版 |
||||
Standard 版 |
||||
Pro/Team 版 |
表格圖例:
套用 |
|
不套用 |
|
預設隱藏的命令。 |
下列程序描述如何同時偵錯 Managed 和原生程式碼,這也稱為混合模式偵錯。依照 DLL 或應用程式是否以機器碼撰寫而定,會有下列兩種情況:
呼叫 DLL 的呼叫應用程式是以機器碼撰寫。在這個情況中,您的 DLL 是 Managed,而且 Managed 和原生偵錯工具都必須啟用,才能為兩種程式碼偵錯。您可以在 [<Project> 屬性頁] 對話方塊中檢查這一點。不同的做法是取決於您是由 DLL 專案啟動偵錯,或者由呼叫應用程式專案啟動偵錯。
呼叫 DLL 的呼叫應用程式是以 Managed 程式碼撰寫,而您的 DLL 是以機器碼撰寫。
注意事項: |
---|
根據您目前使用的設定或版本,您所看到的對話方塊與功能表命令可能會與 [說明] 中描述的不同。如果要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定。 |
若要啟用混合模式偵錯 (在原生 EXE 中呼叫 Managed DLL)
在 [方案總管] 中選取專案。
在 [檢視] 功能表上按一下 [屬性頁]。
在 [<Project> 屬性頁] 對話方塊中,展開 [組態屬性] 節點,然後選取 [偵錯]。
將 [偵錯工具類型] 設定為 [混合] 或 [自動]。
若要啟用混合模式偵錯 (在 Managed EXE 中呼叫原生 DLL)
在 [方案總管] 中選取專案。
在 [檢視] 功能表上按一下 [屬性頁]。
在 [屬性頁] 中按一下 [偵錯] 索引標籤。
在 [啟用偵錯工具] 群組下,選取 [啟用 Unmanaged 程式碼偵錯] 核取方塊。
注意事項: 偵錯工具若要附加至以 C++ 撰寫的程式碼,該程式碼必須發出 DebuggableAttribute。使用 /ASSEMBLYDEBUG (加入 DebuggableAttribute) 連結器選項連結,將其自動加入程式碼。