From 8caabfea655fa2473725e2a4c86ff3043057eb24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Srbeck=C3=BD?= Date: Thu, 11 Dec 2008 13:05:25 +0000 Subject: [PATCH] Fixed SD2-1479 - Null exception when running a Python project with the debugger; Fixed the buttons "Continue" and "Terminate" in the exception dialog git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3676 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/Service/DebugeeExceptionForm.cs | 4 +--- .../Debugger.AddIn/Project/Src/Service/DebuggerEventForm.cs | 2 +- .../Debugger.Core/Project/Src/Expressions/Expression.cs | 5 ++++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.cs index 29b7d5e58f..0df132a20f 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebugeeExceptionForm.cs @@ -52,9 +52,7 @@ using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop.Services { internal sealed partial class DebugeeExceptionForm - { - private Result result = Result.Break; // Default - + { private DebugeeExceptionForm() { InitializeComponent(); diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.cs index 872ea29f15..deb5e2b2dc 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/DebuggerEventForm.cs @@ -48,7 +48,7 @@ namespace ICSharpCode.SharpDevelop.Services { public enum Result {Break, Continue, Terminate}; - private Result result = Result.Break; // Default + protected Result result = Result.Break; // Default protected DebuggerEventForm() { diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/Expression.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/Expression.cs index 36575ced58..a9b2063dfc 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/Expression.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/Expression.cs @@ -64,8 +64,11 @@ namespace Debugger.Expressions { if (context.SelectedStackFrame != null) { return Evaluate(context.SelectedStackFrame); - } else { + } else if (context.SelectedThread.MostRecentStackFrame != null ) { return Evaluate(context.SelectedThread.MostRecentStackFrame); + } else { + // This can happen when needed 'dll' is missing. This causes an exception dialog to be shown even before the applicaiton starts + throw new GetValueException("Can not evaluate because the process has no managed stack frames"); } }