Browse Source

Hopefully fixed the bug with invalid "__exception"

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5252 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
David Srbecký 16 years ago
parent
commit
33a981042f
  1. 4
      src/AddIns/Debugger/Debugger.Core/Eval.cs
  2. 2
      src/AddIns/Debugger/Debugger.Core/Interop/CorSymExtensionMethods.cs
  3. 15
      src/AddIns/Debugger/Debugger.Core/ManagedCallback.cs

4
src/AddIns/Debugger/Debugger.Core/Eval.cs

@ -170,11 +170,11 @@ namespace Debugger @@ -170,11 +170,11 @@ namespace Debugger
process.WaitForPause(TimeSpan.FromMilliseconds(500));
if (!Evaluated) {
state = EvalState.EvaluatedTimeOut;
process.TraceMessage("Aboring eval: " + Description);
process.TraceMessage("Aborting eval: " + Description);
this.CorEval.Abort();
process.WaitForPause(TimeSpan.FromMilliseconds(500));
if (!Evaluated) {
process.TraceMessage("Rude aboring eval: " + Description);
process.TraceMessage("Rude aborting eval: " + Description);
this.CorEval2.RudeAbort();
process.WaitForPause(TimeSpan.FromMilliseconds(500));
if (!Evaluated) {

2
src/AddIns/Debugger/Debugger.Core/Interop/CorSymExtensionMethods.cs

@ -126,7 +126,7 @@ namespace Debugger.Interop.CorSym @@ -126,7 +126,7 @@ namespace Debugger.Interop.CorSym
uint count;
symScope.GetNamespaces(0, out count, new ISymUnmanagedNamespace[0]);
ISymUnmanagedNamespace[] namespaces = new ISymUnmanagedNamespace[count];
symScope.GetNamespaces(0, out count, namespaces);
symScope.GetNamespaces(count, out count, namespaces);
return namespaces;
}

15
src/AddIns/Debugger/Debugger.Core/ManagedCallback.cs

@ -490,14 +490,13 @@ namespace Debugger @@ -490,14 +490,13 @@ namespace Debugger
// Watch out for the zeros and null!
// Exception -> Exception2(pAppDomain, pThread, null, 0, exceptionType, 0);
process.SelectedThread.CurrentException = new Exception(new Value(process.AppDomains[pAppDomain], process.SelectedThread.CorThread.GetCurrentException()));
process.SelectedThread.CurrentException_DebuggeeState = process.DebuggeeState;
process.SelectedThread.CurrentExceptionType = (ExceptionType)exceptionType;
process.SelectedThread.CurrentExceptionIsUnhandled = (ExceptionType)exceptionType == ExceptionType.Unhandled;
if (process.SelectedThread.CurrentExceptionIsUnhandled ||
process.PauseOnHandledException)
{
if (process.SelectedThread.CurrentExceptionIsUnhandled || process.PauseOnHandledException) {
process.SelectedThread.CurrentException = new Exception(new Value(process.AppDomains[pAppDomain], process.SelectedThread.CorThread.GetCurrentException()));
process.SelectedThread.CurrentException.MakeValuePermanent();
process.SelectedThread.CurrentException_DebuggeeState = process.DebuggeeState;
process.SelectedThread.CurrentExceptionType = (ExceptionType)exceptionType;
process.SelectedThread.CurrentExceptionIsUnhandled = (ExceptionType)exceptionType == ExceptionType.Unhandled;
pauseOnNextExit = true;
}
ExitCallback();

Loading…
Cancel
Save