2012-07-23 26 views
0

我有一個C#類庫,我也通過COM Interop使用。爲了測試庫,我在解決方案中添加了一個C#測試應用程序,將其設置爲啓動項目,然後我可以用這種方式進行測試。該庫以這種方式正常工作,但是一個函數在從Visual C++ 6測試應用程序通過COM Interop進行調用時不起作用。在這種情況下如何調試庫?我在Google上搜索了一個解決方案,但我能找到的唯一建議是向解決方案添加一個測試應用程序,當然在這種情況下我無法做到這一點。如何調試C#類庫COM Interop組件

編輯:非常抱歉。我忘了說Visual C++測試應用程序是Visual C++ 6.

+0

需要更多信息。通過試圖找出你沒有得到期望值的原因來調試它,你可以這樣做,在調用COM方法之前和之後調試你自己的代碼 – 2012-07-23 11:14:32

+0

這正是問題所在。如何調試?對不起,我認爲你誤解了這個問題。 – Jonnster 2012-07-23 12:27:04

+0

爲什麼你在使用如此古老的C++編譯器?這是當然的問題,VS6對C#調試一無所知。通過將C++項目添加到您的解決方案來解決問題,以便您可以對它們進行調試。 – 2012-07-23 12:56:55

回答

0

首先,打開啓動Visual Studio和Visual C++。用VC++開始你的測試應用程序。之後,在VS中,打開Debug菜單並選擇Attach to進程。這將向您顯示正在運行的當前進程的列表,選擇與您的測試應用程序相對應的列表,然後單擊附加。這將使您能夠放置斷點並調試您的DLL。

+0

我已經試過這個,它沒有工作。它重視這一過程,但所有的斷點都變灰了。 – Jonnster 2012-07-23 12:25:52

+0

對不起,我低估了答案,但它實際上是我的錯,因爲沒有解釋測試應用程序是通過COM Interop連接到我的C#庫的Visual C++ 6。 – Jonnster 2012-07-23 12:29:31

+0

您是否使用DLL的調試版本? – Stephan 2012-07-23 13:23:01