Пример #1
0
        private static string HookGetStackTrace(orig_GetStackTrace orig, Exception self, bool fNeedFileInfo)
        {
            var stackTrace = new StackTrace(self, true);

            MdbManager.Symbolize(stackTrace.GetFrames());
            PrettifyStackTraceSources(stackTrace.GetFrames());
            var s = stackTrace.ToString();

            s = trimParamTypes.Replace(s, "$1");
            s = dropGenericTicks.Replace(s, "");
            s = dropOffset.Replace(s, "");
            s = s.Replace(":-1", "");
            return(s);
        }
Пример #2
0
            private Assembly LoadAssembly(byte[] code, byte[] pdb = null)
            {
                var asm = Assembly.Load(code, pdb);

                assemblies.Add(asm);
                loadedAssemblies[asm.GetName().Name] = asm;
                assemblyBinaries[asm.GetName().Name] = code;
                hostModForAssembly[asm] = this;
                bytesLoaded            += code.LongLength + (pdb?.LongLength ?? 0);
#if MONO
                if (pdb != null)
                {
                    var cecilAssemblyDef = cecilAssemblyResolver.Resolve(asm.GetName().ToReference());
                    MdbManager.RegisterMdb(cecilAssemblyDef.MainModule, pdb);
                }
#endif
                return(asm);
            }