public bool Load(Assembly assembly, out AssemblyDebugInformation assemblyDebugInformation)
            {
                assemblyDebugInformation = null;
                if (assembly.IsDynamic)
                {
                    return(false);
                }

                var debugDir = Path.GetDirectoryName(assembly.Location);

                if (!Parent.lookupDirectories.Contains(debugDir))
                {
                    Parent.RegisterLookupDirectory(debugDir);
                }

                var pdbFileName = assembly.GetName().Name;
                var loader      = new FileLoader(Parent, pdbFileName);

                return(loader.Load(assembly, out assemblyDebugInformation));
            }
Beispiel #2
0
            public bool Load(Assembly assembly, out AssemblyDebugInformation assemblyDebugInformation)
            {
                try
                {
                    assemblyDebugInformation = new AssemblyDebugInformation(assembly, PDBStream);
                    if (!assemblyDebugInformation.IsValid)
                    {
                        return(false);
                    }

                    Parent.assemblies.Add(assembly, assemblyDebugInformation);
                    return(true);
                }
                catch (Exception ex)
                {
                    assemblyDebugInformation = null;
                    Debug.WriteLine($"Error reading from PDB stream for assembly '{assembly}'");
                    Debug.WriteLine(ex.ToString());
                    return(false);
                }
            }