summaryrefslogtreecommitdiff
path: root/src/debug/di/rsmain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug/di/rsmain.cpp')
-rw-r--r--src/debug/di/rsmain.cpp12
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