2016-10-12 43 views
3

我有一個使用visual studio 2013的C++項目。它編譯了一個dll。如何從Microsoft Access中調試dll

該DLL由Microsoft Access項目調用。 在Microsoft Access項目中,我們爲dll準備輸入,並聲明要調用哪個dll,並使用準備好的輸入調用dll。該dll將輸出返回到Access。

我的目標是能夠跨越C++代碼,因爲我想改進C++代碼。

有關如何從Access調用dll然後逐步執行C++代碼的任何建議?

+2

https://msdn.microsoft.com/en-us/library/ms164704.aspx。 TL; DR版本:構建DLL的調試版本。根據需要放置斷點。開始訪問項目以使用DLL。從Visual Studio主菜單中選擇Debug - > Attach To Process。使用DLL查找並選擇Access進程(讓自己變得簡單,只有一個運行)。點擊附加按鈕。強制訪問使用DLL。等待斷點。 – user4581301

+1

項目>屬性>調試>命令設置。從Office安裝目錄中選擇MSAccess.exe。設置一個斷點,按F5。 –

+0

@ user4581301你想把你的評論作爲答案嗎? – Lisa

回答

1

Visual Studio Debugger在調試DLL時允許您選擇將要加載該DLL的可執行文件。因此找到MS Access可執行文件,並指定該路徑。然後像通常那樣放置一個斷點,以指示您想要開始調試的位置。

+0

需要獲得dll的調試版本,然後確保Access調用調試版本dll – Lisa

+0

@Lisa:Visual Studio調試器將高興地闖入發佈版本,當然假定斷點處於一些未優化的代碼中出。不過,調試版本更容易。 – MSalters

+0

謝謝!也會嘗試 – Lisa

1

除了MSalters的答案,這是正確的,你可以用通常的方式啓動Access,並附加到正在運行的進程。在Visual Studio中,它位於菜單下,調試/附加...

如果Access加載DLL的調試版本,DLL源中的行斷點將在執行時分解爲Visual Studio,如預期的那樣。