[英]How to debug the c++ dll from c# project?
我創建了一個visual c++ 6.0 dll
項目,並使用我的c#
代碼。 現在我想調試dll
但我無法做到。
我選擇以下選項來執行此操作:
visual c++
項目代碼中。 c#
項目目錄中。 c#
項目並且dll工作正常(方法調用完美)。 dll
。 c++
項目,然后從vc++
選擇Attach to process
。 visual c#
project的運行過程,而在任務管理器進程中可以找到它。 在我的c#
項目解決方案中,我有兩個項目即
webform application
。 現在請幫助我如何調試我的DLL。 我已經關注了很多博客,但他們都專注於Attaching process
方法,這種方法在我的條件下無效。 我該怎么辦?
您需要啟用非托管調試,在任一情況下都不會打開它,因為您的主程序是受管理的。
您可以在C#項目中使用Project> Properties> Debug選項卡>勾選“啟用非托管代碼調試”復選框。
您可以通過單擊“選擇”按鈕,使用“工具”>“附加到進程”來執 選擇“調試這些代碼類型”單選按鈕並勾選Managed和Native。 如果您的進程是64位,則可能不得不求助於本機。
在DLL的源代碼中設置斷點,並確保編寫運行DLL函數的C#代碼。 如果仍然無法獲得斷點,請使用Debug> Windows> Modules並驗證您是否在模塊列表中看到DLL。 通過右鍵單擊獲取其他疑難解答信息,選擇符號加載信息。 其中顯示了調試器查找PDB文件的位置。
您可以將C ++項目添加到C#解決方案並直接向項目添加引用(而不是dll),然后您將不需要復制DLL。 之后,只需啟動C#項目的正常調試(F5),斷點也將適用於C ++項目。 這種方式非常適合調試。 我嘗試過這樣的調試,並沒有改變任何其他設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.