Browse Source

fix some null errors

pull/258/head
Eusebiu Marcu 14 years ago
parent
commit
87abf569a7
  1. 14
      Debugger/Debugger.Core/Breakpoint.cs
  2. 2
      Debugger/ILSpy.Debugger/Commands/DebuggerCommands.cs
  3. 3
      Debugger/ILSpy.Debugger/Services/Debugger/WindowsDebugger.cs
  4. 2
      ILSpy/TextView/DecompilerTextView.cs

14
Debugger/Debugger.Core/Breakpoint.cs

@ -45,11 +45,6 @@ namespace Debugger
set { line = value; } set { line = value; }
} }
public string TypeName {
get;
set;
}
public int Column { public int Column {
get { return column; } get { return column; }
protected set { column = value; } protected set { column = value; }
@ -75,6 +70,10 @@ namespace Debugger
} }
} }
public string TypeName {
get; protected set;
}
protected virtual void OnHit(BreakpointEventArgs e) protected virtual void OnHit(BreakpointEventArgs e)
{ {
if (Hit != null) { if (Hit != null) {
@ -176,12 +175,11 @@ namespace Debugger
public class ILBreakpoint : Breakpoint public class ILBreakpoint : Breakpoint
{ {
public ILBreakpoint(NDebugger debugger, string typeName, string memberReferenceName, int line, int metadataToken, int offset, bool enabled) public ILBreakpoint(NDebugger debugger, string typeName, int line, int metadataToken, int offset, bool enabled)
{ {
this.Debugger = debugger; this.Debugger = debugger;
this.Line = line; this.Line = line;
this.TypeName = typeName; this.TypeName = typeName;
this.MemberReferenceName = memberReferenceName;
this.MetadataToken = metadataToken; this.MetadataToken = metadataToken;
this.ILOffset = offset; this.ILOffset = offset;
this.Enabled = enabled; this.Enabled = enabled;
@ -191,8 +189,6 @@ namespace Debugger
public int ILOffset { get; private set; } public int ILOffset { get; private set; }
public string MemberReferenceName { get; private set; }
public override bool SetBreakpoint(Module module) public override bool SetBreakpoint(Module module)
{ {
SourcecodeSegment segment = SourcecodeSegment.CreateForIL(module, this.Line, (int)MetadataToken, ILOffset); SourcecodeSegment segment = SourcecodeSegment.CreateForIL(module, this.Line, (int)MetadataToken, ILOffset);

2
Debugger/ILSpy.Debugger/Commands/DebuggerCommands.cs

@ -83,7 +83,7 @@ namespace ICSharpCode.ILSpy.Debugger.Commands
public override void Execute(object parameter) public override void Execute(object parameter)
{ {
DebugInformation.LoadedAssemblies = MainWindow.Instance.CurrentAssemblyList.GetAssemblies().Select(a => a.AssemblyDefinition);
} }
protected static IDebugger CurrentDebugger { protected static IDebugger CurrentDebugger {

3
Debugger/ILSpy.Debugger/Services/Debugger/WindowsDebugger.cs

@ -549,7 +549,6 @@ namespace ICSharpCode.ILSpy.Debugger.Services
breakpoint = new ILBreakpoint( breakpoint = new ILBreakpoint(
debugger, debugger,
bookmark.MemberReference.DeclaringType.FullName, bookmark.MemberReference.DeclaringType.FullName,
bookmark.MemberReference.FullName,
bookmark.LineNumber, bookmark.LineNumber,
bookmark.MemberReference.MetadataToken.ToInt32(), bookmark.MemberReference.MetadataToken.ToInt32(),
bookmark.ILRange.From, bookmark.ILRange.From,
@ -817,6 +816,8 @@ namespace ICSharpCode.ILSpy.Debugger.Services
int ilOffset = frame.IP; int ilOffset = frame.IP;
string fullName = debugType.FullNameWithoutGenericArguments; string fullName = debugType.FullNameWithoutGenericArguments;
DebugInformation.LoadedAssemblies = MainWindow.Instance.CurrentAssemblyList.GetAssemblies().Select(a => a.AssemblyDefinition);
if (DebugInformation.LoadedAssemblies == null) if (DebugInformation.LoadedAssemblies == null)
throw new NullReferenceException("No DebugData assemblies!"); throw new NullReferenceException("No DebugData assemblies!");
else { else {

2
ILSpy/TextView/DecompilerTextView.cs

@ -456,7 +456,7 @@ namespace ICSharpCode.ILSpy.TextView
int ilOffset = DebugInformation.DebugStepInformation.Item2; int ilOffset = DebugInformation.DebugStepInformation.Item2;
int line; int line;
MemberReference member; MemberReference member;
if (!DebugInformation.CodeMappings.ContainsKey(token)) if (DebugInformation.CodeMappings == null || !DebugInformation.CodeMappings.ContainsKey(token))
return; return;
DebugInformation.CodeMappings[token].GetInstructionByTokenAndOffset(token, ilOffset, out member, out line); DebugInformation.CodeMappings[token].GetInstructionByTokenAndOffset(token, ilOffset, out member, out line);

Loading…
Cancel
Save