2017-09-15 37 views
0

我使用的使用Visual Studio 2013在Visual Basic編寫,並嘗試使用debuger代碼在一個DLL,是工作目錄以外的外部DLL。該DLL是一個C++項目,主要的應用程序是一個VB項目。使用VB,VS 2013如何使用工作目錄

我該怎麼做?在C++中,它看起來很簡單,但與VB無關。

下面是清一色的背景。我一般對上述問題感興趣,這只是最新的表現。 完整的故事:我試圖調試VB程序,並用C++編寫的DLL。我將該DLL複製到VB exe目錄的工作目錄中。但是它給了我一個工具提示,在DLL源代碼的中斷點處,它顯示「斷點當前不會被命中,沒有爲此文檔加載符號」。我試圖找出是否解決了這個問題。如果確實如此,它確實如此。如果沒有,它不會。

+0

只有最後一段似乎是有道理的。您的VB程序加載了本機C++ DLL之前,您設置的任何斷點都無法佈防。無論執行什麼語句,通常是調用一個聲明爲[DllImport]或Declare語句的方法。您還必須啓用非託管調試器。調試器的Debug> Windows> Modules窗口顯示加載的內容,如果它不在列表中,則斷點無法工作。 –

+0

@Hans,你100%正確。只有最後一段有意義。我編輯了第一段。我並沒有說清楚,我試圖讓調試器進入該dll。(這是最點!)希望這有助於。謝謝你的幫助。 –

回答

0

Pehaps你應該對調用(enter link description here)撥打電話和進口該.dll文件。另一種選擇是在gac中註冊dll併爲你的庫製作wrapper com。

你也應該將庫添加到您的.NET應用程序如下:

xcopy "$(SolutionDir)DLL\$(ConfigurationName)"\*.dll "$(TargetDir)"*.* /Y 

項目 - >屬性 - >編譯 - >生成事件 - >生成後事件命令行通過命令。

相關問題