Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/debugger-libs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoj <joj@microsoft.com>2020-06-10 16:44:36 +0300
committerjoj <joj@microsoft.com>2020-06-10 16:45:57 +0300
commite43047d591ff61ff490fe8840bbaa67dc1aa2d33 (patch)
tree9a7c149ce1d973f41c1d6110d77f911c59c753a4 /Mono.Debugging.Soft
parent9d8100fcce65f9f31b78e1e1ffd7669c203c7d81 (diff)
Added a method to be able to add user assemblies after init
In Visual Studio it is possible to Load Symbols for existing assemblies. This functionality results in new assemblies being debuggable in the middle of the debug session. I'm adding this method so I can use this functionality, but also to be able to load symbols as assemblies are loaded and not all at the same time, which make the debugger more responsive.
Diffstat (limited to 'Mono.Debugging.Soft')
-rw-r--r--Mono.Debugging.Soft/SoftDebuggerSession.cs13
1 files changed, 10 insertions, 3 deletions
diff --git a/Mono.Debugging.Soft/SoftDebuggerSession.cs b/Mono.Debugging.Soft/SoftDebuggerSession.cs
index 34aa952..03ad443 100644
--- a/Mono.Debugging.Soft/SoftDebuggerSession.cs
+++ b/Mono.Debugging.Soft/SoftDebuggerSession.cs
@@ -2032,17 +2032,24 @@ namespace Mono.Debugging.Soft
}
}
+ public void AddUserAssembly(string userAssembly)
+ {
+ if (userAssemblyNames != null && !userAssemblyNames.Contains(userAssembly))
+ userAssemblyNames.Add(userAssembly);
+ }
+
void HandleAssemblyLoadEvents (AssemblyLoadEvent[] events)
{
var asm = events [0].Assembly;
if (events.Length > 1 && events.Any (a => a.Assembly != asm))
throw new InvalidOperationException ("Simultaneous AssemblyLoadEvent for multiple assemblies");
- RegisterAssembly (asm);
+
+ OnAssemblyLoaded(asm.Location);
+
+ RegisterAssembly(asm);
bool isExternal;
isExternal = !UpdateAssemblyFilters (asm) && userAssemblyNames != null;
- OnAssemblyLoaded (asm.Location);
-
string flagExt = isExternal ? " [External]" : "";
OnDebuggerOutput (false, string.Format ("Loaded assembly: {0}{1}\n", asm.Location, flagExt));
}