diff options
Diffstat (limited to 'src/debug/di/rsmain.cpp')
-rw-r--r-- | src/debug/di/rsmain.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/debug/di/rsmain.cpp b/src/debug/di/rsmain.cpp index 542872577f..cd2063a5a0 100644 --- a/src/debug/di/rsmain.cpp +++ b/src/debug/di/rsmain.cpp @@ -864,8 +864,10 @@ Cordb::Cordb(CorDebugInterfaceVersion iDebuggerVersion) m_processes(11), m_initialized(false), m_debuggerSpecifiedVersion(iDebuggerVersion) +#ifdef FEATURE_CORESYSTEM , m_targetCLR(0) +#endif { g_pRSDebuggingInfo->m_Cordb = this; @@ -1311,7 +1313,9 @@ HRESULT Cordb::SetTargetCLR(HMODULE hmodTargetCLR) if (m_initialized) return E_FAIL; +#ifdef FEATURE_CORESYSTEM m_targetCLR = hmodTargetCLR; +#endif // @REVIEW: are we happy with this workaround? It allows us to use the existing // infrastructure for instance name decoration, but it really doesn't fit @@ -1419,6 +1423,14 @@ bool Cordb::IsInteropDebuggingSupported() // ICorDebug::SetUnmanagedHandler for details. #ifdef FEATURE_INTEROP_DEBUGGING +#if defined(FEATURE_CORECLR) && !defined(FEATURE_CORESYSTEM) + // Interop debugging is only supported internally on CoreCLR. + // Check if the special reg key is set. If not, then we don't allow interop debugging. + if (CLRConfig::GetConfigValue(CLRConfig::INTERNAL_DbgEnableMixedModeDebugging) == 0) + { + return false; + } +#endif // FEATURE_CORECLR return true; #else |