我檢查如果調試器是存在於我的C++ DLL與方法檢查是否調試器是存在於C++ DLL(加載在C++/CLI包裝器)
if(IsDebuggerPresent()) // set dll name to debug
當我在我的C加載這個DLL ++/CLI包裝(VS中的調試模式)方法總是返回false(釋放) - >爲什麼這樣呢? (或我需要確定這些信息的代碼)
謝謝你的幫助!如果一個調試器附加到應用程序
招呼leon22
我檢查如果調試器是存在於我的C++ DLL與方法檢查是否調試器是存在於C++ DLL(加載在C++/CLI包裝器)
if(IsDebuggerPresent()) // set dll name to debug
當我在我的C加載這個DLL ++/CLI包裝(VS中的調試模式)方法總是返回false(釋放) - >爲什麼這樣呢? (或我需要確定這些信息的代碼)
謝謝你的幫助!如果一個調試器附加到應用程序
招呼leon22
這是解決方案:只啓用非託管調試! (msdn.microsoft.com/en-us/library/tdw0c6sf.aspx)
System.Diagnostics.Debugger.IsAttached返回true。這是你想要達到的目標嗎?
我知道這種方法,但這只是爲了託管.net代碼 - >我進入了一個本地的C++ DLL(加載自。淨C++/CLI包裝)! – leon22
調試器中是否選擇了非託管調試選項? –
等待,你是說「在調試版本中它是錯誤的」(即包裝器被構建爲「調試器」)或「當調試器中的_run時它是錯誤的」?那些是不同的東西。 – Damon
這是解決方案:只需啓用非託管調試! (http://msdn.microsoft.com/en-us/library/tdw0c6sf.aspx) – leon22