diff --git a/src/coreclr/debug/di/dbgtransportmanager.cpp b/src/coreclr/debug/di/dbgtransportmanager.cpp index 828af8928724f6..3a2e1f7bbe8e18 100644 --- a/src/coreclr/debug/di/dbgtransportmanager.cpp +++ b/src/coreclr/debug/di/dbgtransportmanager.cpp @@ -15,6 +15,16 @@ DbgTransportTarget::DbgTransportTarget() { } +DbgTransportTarget::~DbgTransportTarget() +{ +#ifdef _DEBUG + if (m_sLock.IsInit()) + { + Shutdown(); + } +#endif // _DEBUG +} + // Initialization routine called only by the DbgTransportManager. HRESULT DbgTransportTarget::Init() { diff --git a/src/coreclr/debug/di/dbgtransportmanager.h b/src/coreclr/debug/di/dbgtransportmanager.h index f03dd9a401fecf..5b9cda2f9532f8 100644 --- a/src/coreclr/debug/di/dbgtransportmanager.h +++ b/src/coreclr/debug/di/dbgtransportmanager.h @@ -32,6 +32,7 @@ class DbgTransportTarget { public: DbgTransportTarget(); + ~DbgTransportTarget(); // Given a PID attempt to find or create a DbgTransportSession instance to manage a connection to a // runtime in that process. Returns E_UNEXPECTED if the process can't be found. Also returns a handle that