summaryrefslogtreecommitdiff
path: root/src/vm/debugdebugger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/debugdebugger.cpp')
-rw-r--r--src/vm/debugdebugger.cpp61
1 files changed, 0 insertions, 61 deletions
diff --git a/src/vm/debugdebugger.cpp b/src/vm/debugdebugger.cpp
index c8b76bf6dc..098bdfdd4e 100644
--- a/src/vm/debugdebugger.cpp
+++ b/src/vm/debugdebugger.cpp
@@ -102,61 +102,6 @@ UINT_PTR FindMostRecentUserCodeOnStack(void)
return address;
}
-#ifndef FEATURE_CORECLR
-// Call into the unhandled-exception processing code to launch Watson.
-//
-// Arguments:
-// address - address to distinguish callsite of break.
-//
-// Notes:
-// Invokes a watson dialog in response to a user break (Debug.Break).
-// Assumes that caller has already enforced any policy it cares about related to whether a debugger is attached.
-void DoWatsonForUserBreak(UINT_PTR address)
-{
- CONTRACTL
- {
- MODE_ANY;
- GC_TRIGGERS;
- THROWS;
- PRECONDITION(address != NULL);
- }
- CONTRACTL_END;
-
- CONTEXT context;
- EXCEPTION_RECORD exceptionRecord;
- EXCEPTION_POINTERS exceptionPointers;
-
- ZeroMemory(&context, sizeof(context));
- ZeroMemory(&exceptionRecord, sizeof(exceptionRecord));
- ZeroMemory(&exceptionPointers, sizeof(exceptionPointers));
-
- // Try to locate the user managed code invoking System.Diagnostics.Debugger.Break
- UINT_PTR userCodeAddress = FindMostRecentUserCodeOnStack();
- if (userCodeAddress != NULL)
- {
- address = userCodeAddress;
- }
-
- LOG((LF_EH, LL_INFO10, "DoDebugBreak: break at %0p\n", address));
-
- exceptionRecord.ExceptionAddress = reinterpret_cast< PVOID >(address);
- exceptionPointers.ExceptionRecord = &exceptionRecord;
- exceptionPointers.ContextRecord = &context;
-
- Thread *pThread = GetThread();
- PTR_EHWatsonBucketTracker pUEWatsonBucketTracker = pThread->GetExceptionState()->GetUEWatsonBucketTracker();
- _ASSERTE(pUEWatsonBucketTracker != NULL);
- pUEWatsonBucketTracker->SaveIpForWatsonBucket(address);
- pUEWatsonBucketTracker->CaptureUnhandledInfoForWatson(TypeOfReportedError::UserBreakpoint, pThread, NULL);
- if (pUEWatsonBucketTracker->RetrieveWatsonBuckets() == NULL)
- {
- pUEWatsonBucketTracker->ClearWatsonBucketDetails();
- }
-
- WatsonLastChance(GetThread(), &exceptionPointers, TypeOfReportedError::UserBreakpoint);
-
-} // void DoDebugBreak()
-#endif // !FEATURE_CORECLR
// This does a user break, triggered by System.Diagnostics.Debugger.Break, or the IL opcode for break.
//
@@ -210,12 +155,6 @@ FCIMPL0(void, DebugDebugger::Break)
}
else
{
-#ifndef FEATURE_CORECLR
- // No debugger attached -- Watson up.
-
- // The HelperMethodFrame knows how to get the return address.
- DoWatsonForUserBreak(HELPER_METHOD_FRAME_GET_RETURN_ADDRESS());
-#endif //FEATURE_CORECLR
}
HELPER_METHOD_FRAME_END();