コード例 #1
0
ファイル: DnAssembly.cs プロジェクト: lovebanyi/dnSpy
 internal DnAssembly(DnAppDomain appDomain, ICorDebugAssembly assembly, int incrementedId)
 {
     this.appDomain = appDomain;
     this.modules = new DebuggerCollection<ICorDebugModule, DnModule>(CreateModule);
     this.assembly = new CorAssembly(assembly);
     this.incrementedId = incrementedId;
 }
コード例 #2
0
 //
 // IEnumerator interface
 //
 public bool MoveNext ()
 {
     ICorDebugAssembly[] a = new ICorDebugAssembly[1];
     uint c = 0;
     int r = m_enum.Next ((uint) a.Length, a, out c);
     if (r==0 && c==1) // S_OK && we got 1 new element
         m_asm = new CorAssembly (a[0]);
     else
         m_asm = null;
     return m_asm != null;
 }
コード例 #3
0
 public CorAssembly(ICorDebugAssembly assembly)
 {
     corAssembly = assembly;
     char[] name = new char[300];
     uint sz = 0;
     corAssembly.GetName((uint)name.Length, out sz, name);
     fullName = new String(name, 0, (int)(sz - 1));
     if (fullName.Contains(Path.DirectorySeparatorChar))
     {
         assemblyname = Path.GetFileName(fullName);
         location = Path.GetDirectoryName(fullName);
     }
     else {
         assemblyname = location = fullName;
     }
 }
コード例 #4
0
ファイル: DebugDomain.cs プロジェクト: anvaka/slinject
        private IList<DebugAssembly> LoadAssemblies()
        {
            ICorDebugAssemblyEnum assembliesEnum;
            _domain.EnumerateAssemblies(out assembliesEnum);
            uint assembliesCount;
            assembliesEnum.GetCount(out assembliesCount);

            ICorDebugAssembly[] assemblies = new ICorDebugAssembly[assembliesCount];
            uint actualAssembliesCount;
            assembliesEnum.Next(assembliesCount, assemblies, out actualAssembliesCount);

            var result = new List<DebugAssembly>((int)actualAssembliesCount);
            for (int i = 0; i < actualAssembliesCount; i++)
            {
                result.Add(new DebugAssembly(assemblies[i]));
            }

            return result;
        }
コード例 #5
0
ファイル: DnAppDomain.cs プロジェクト: lovebanyi/dnSpy
 internal void AssemblyUnloaded(ICorDebugAssembly comAssembly)
 {
     var assembly = assemblies.TryGet(comAssembly);
     if (assembly == null)
         return;
     assembly.SetHasUnloaded();
     assemblies.Remove(comAssembly);
 }
コード例 #6
0
ファイル: DnAppDomain.cs プロジェクト: lovebanyi/dnSpy
 DnAssembly CreateAssembly(ICorDebugAssembly comAssembly, int id)
 {
     return new DnAssembly(this, comAssembly, id);
 }
コード例 #7
0
ファイル: DnAppDomain.cs プロジェクト: levisre/dnSpy
		DnAssembly CreateAssembly(ICorDebugAssembly comAssembly) {
			return new DnAssembly(this, comAssembly, Debugger.GetNextAssemblyId(), Process.GetNextAssemblyId(), Interlocked.Increment(ref nextAssemblyId));
		}
コード例 #8
0
		public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
		{
			EnterCallback(PausedReason.Other, "UnloadAssembly", pAppDomain);
			
			ExitCallback();
		}
コード例 #9
0
 public virtual void UnloadAssembly(ICorDebugAppDomain appDomain, ICorDebugAssembly assembly)
 {
     this.DefaultHandler(appDomain);
 }
コード例 #10
0
 int ICorDebugModule2.ResolveAssembly(uint tkAssemblyRef, out ICorDebugAssembly ppAssembly)
 {
     ppAssembly = null;
     return(COM_HResults.S_OK);
 }
コード例 #11
0
 public UnloadAssemblyDebugCallbackEventArgs(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
     : base(pAppDomain, pAssembly)
 {
 }
コード例 #12
0
		public UnloadAssemblyDebugCallbackEventArgs(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
			: base(pAppDomain, pAssembly) {
		}
コード例 #13
0
            void ICorDebugManagedCallback.UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
            {
                var ev = new CorEventArgs(new CorAppDomain(pAppDomain, p_options));

                GetOwner(ev.Controller).DispatchEvent(ev);

                FinishEvent(ev);
            }
コード例 #14
0
 protected AssemblyDebugCallbackEventArgs(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
     : base(pAppDomain)
 {
     this.AppDomain = pAppDomain;
     this.Assembly  = pAssembly;
 }
コード例 #15
0
        public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
        {
            EnterCallback(PausedReason.Other, "UnloadAssembly", pAppDomain);

            ExitCallback();
        }
コード例 #16
0
 public void UnloadAssembly(ICorDebugAppDomain appDomain,
                            ICorDebugAssembly assy)
 {
 }
コード例 #17
0
 public void LoadAssembly(ICorDebugAppDomain appDomain,
                          ICorDebugAssembly assy)
 {
     MessageBox.Show("Load assy: " + assy);
 }
コード例 #18
0
		public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
		{
			ManagedCallback managedCallback = GetProcessCallbackInterface("UnloadAssembly", pAppDomain);
			if (managedCallback != null) {
				managedCallback.UnloadAssembly(pAppDomain, pAssembly);
			}
		}
コード例 #19
0
 internal RuntimeAssembly(RuntimeAppDomain domain, ICorDebugAssembly comAssembly)
 {
     _domain = domain;
     _comAssembly = comAssembly;
 }
コード例 #20
0
ファイル: DnAssembly.cs プロジェクト: manojdjoshi/dnSpy
		internal DnAssembly(DnAppDomain appDomain, ICorDebugAssembly assembly, int uniqueId, int uniqueIdProcess, int uniqueIdAppDomain) {
			AppDomain = appDomain;
			modules = new DebuggerCollection<ICorDebugModule, DnModule>(CreateModule);
			CorAssembly = new CorAssembly(assembly);
			UniqueId = uniqueId;
			UniqueIdProcess = uniqueIdProcess;
			UniqueIdAppDomain = uniqueIdAppDomain;
		}
コード例 #21
0
 internal DebuggedAssembly(ICorDebugAssembly a)
 {
     m_asm = a;
 }
コード例 #22
0
ファイル: ManagedCallback.cs プロジェクト: anvaka/slinject
 public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
 {
     var assembly = new DebugAssembly(pAssembly);
     Logger.WriteLine("Unloaded {0} assembly", assembly.Name);
     pAppDomain.Continue(0);
 }
コード例 #23
0
        int ICorDebugModule.GetAssembly( out ICorDebugAssembly ppAssembly )
        {
            ppAssembly = this;

            return Utility.COM_HResults.S_OK;
        }
コード例 #24
0
ファイル: Program.cs プロジェクト: erisonliang/qizmt
            public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
            {
                try
                {
                    _EnterCallback();

                    _CallbackNotImplemented();

                    _CallbackEvent("UnloadAssembly");
                }
                catch (Exception e)
                {
                    _CallbackException(e);
                }
            }
コード例 #25
0
ファイル: Program.cs プロジェクト: DeanYQ/donet-debugger
 public void UnloadAssembly([In, MarshalAs(UnmanagedType.Interface)] ICorDebugAppDomain pAppDomain, [In, MarshalAs(UnmanagedType.Interface)] ICorDebugAssembly pAssembly)
 {
     throw new NotImplementedException();
 }
コード例 #26
0
 int ICorDebugModule.GetName(uint cchName, IntPtr pcchName, IntPtr szName)
 {
     return(ICorDebugAssembly.GetName(cchName, pcchName, szName));
 }
コード例 #27
0
 internal RuntimeAssembly GetAssembly(ICorDebugAssembly assembly)
 {
     return(_assemblies[assembly]);
 }
コード例 #28
0
 internal DebugAssembly(ICorDebugAssembly assembly)
 {
     this.assembly = assembly;
 }
コード例 #29
0
        public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
        {
            EnterCallback("UnloadAssembly", pAppDomain);

            ExitCallback();
        }
コード例 #30
0
 int ICorDebugModule2.ResolveAssembly( uint tkAssemblyRef, out ICorDebugAssembly ppAssembly )
 {
     ppAssembly = null;
     return Utility.COM_HResults.S_OK;
 }
コード例 #31
0
 public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
 {
     controller.Continue(0);
 }
コード例 #32
0
 internal RuntimeAssembly GetAssembly(ICorDebugAssembly assembly)
 {
     return _assemblies[assembly];
 }
コード例 #33
0
ファイル: Assembly.cs プロジェクト: xsword911/Cosmos
 internal CorAssembly (ICorDebugAssembly managedAssembly)
     :base(managedAssembly)
 { 
     m_asm = managedAssembly;
 }
コード例 #34
0
ファイル: DnAppDomain.cs プロジェクト: lovebanyi/dnSpy
 /// <summary>
 /// Gets an Assembly or null
 /// </summary>
 /// <param name="comAssembly">Assembly</param>
 /// <returns></returns>
 public DnAssembly TryGetAssembly(ICorDebugAssembly comAssembly)
 {
     Debugger.DebugVerifyThread();
     return assemblies.TryGet(comAssembly);
 }
コード例 #35
0
 internal RuntimeAssembly(RuntimeAppDomain domain, ICorDebugAssembly comAssembly)
 {
     _domain      = domain;
     _comAssembly = comAssembly;
 }
コード例 #36
0
ファイル: DnAppDomain.cs プロジェクト: lovebanyi/dnSpy
 internal DnAssembly TryAdd(ICorDebugAssembly comAssembly)
 {
     return assemblies.Add(comAssembly);
 }
コード例 #37
0
 public virtual void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly) { pAppDomain.Continue(0); }
コード例 #38
0
 public static void ResolveAssembly(this ICorDebugModule2 instance, uint tkAssemblyRef, ref ICorDebugAssembly ppAssembly)
 {
     instance.__ResolveAssembly(tkAssemblyRef, ref ppAssembly);
 }
コード例 #39
0
ファイル: Debugger.cs プロジェクト: ScriptBox21/MS-perfview
 public virtual void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
 {
     pAppDomain.Continue(0);
 }
コード例 #40
0
ファイル: Assembly.cs プロジェクト: Kalnor/monodevelop
 internal CorAssembly (ICorDebugAssembly managedAssembly)
     :base(managedAssembly)
 { 
     m_asm = managedAssembly;
 }
コード例 #41
0
            void ICorDebugManagedCallback.UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
            {
                var ev = new CorEventArgs(GetCachedAppDomain(pAppDomain), "UnloadAssembly");

                GetOwner(ev.Controller).DispatchEvent(ev);

                FinishEvent(ev);
            }
コード例 #42
0
		protected AssemblyDebugCallbackEventArgs(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
			: base(pAppDomain) {
			this.AppDomain = pAppDomain;
			this.Assembly = pAssembly;
		}
コード例 #43
0
ファイル: DnAppDomain.cs プロジェクト: zstreamer/dnSpy
 internal DnAssembly TryAdd(ICorDebugAssembly comAssembly)
 {
     return(assemblies.Add(comAssembly));
 }
コード例 #44
0
ファイル: DnAppDomain.cs プロジェクト: zstreamer/dnSpy
 DnAssembly CreateAssembly(ICorDebugAssembly comAssembly, int id)
 {
     return(new DnAssembly(this, comAssembly, id));
 }
コード例 #45
0
ファイル: DnAppDomain.cs プロジェクト: zquans/dnSpy
 public DnAssembly TryGetAssembly(ICorDebugAssembly comAssembly)
 {
     Debugger.DebugVerifyThread();
     return(assemblies.TryGet(comAssembly));
 }
コード例 #46
0
 public void AssemblyLoad_Unload(ICorDebugAppDomain appDomain, ICorDebugAssembly assembly,bool action)
 {
     AssemblyNotification(new CorDebugAppDomain(appDomain),new CorAssembly(assembly), action);
 }
コード例 #47
0
ファイル: DnAppDomain.cs プロジェクト: zquans/dnSpy
 DnAssembly CreateAssembly(ICorDebugAssembly comAssembly) =>
 new DnAssembly(this, comAssembly, Debugger.GetNextAssemblyId(), Process.GetNextAssemblyId(), Interlocked.Increment(ref nextAssemblyId));
コード例 #48
0
ファイル: Program.cs プロジェクト: erisonliang/qizmt
            public void LoadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
            {
                try
                {
                    _EnterCallback();

                    lock (dbgproc)
                    {
                        dbgproc.iassemblies.Add(pAssembly);
                    }

                    _ResumeCallback();

                    _CallbackEvent("LoadAssembly");
                }
                catch (Exception e)
                {
                    _CallbackException(e);
                }
            }
コード例 #49
0
ファイル: DnAppDomain.cs プロジェクト: zquans/dnSpy
 internal DnAssembly TryAdd(ICorDebugAssembly comAssembly) => assemblies.Add(comAssembly);
コード例 #50
0
		public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
		{
			EnterCallback("UnloadAssembly", pAppDomain);
			
			ExitCallback();
		}
コード例 #51
0
        int ICorDebugModule.GetAssembly(out ICorDebugAssembly ppAssembly)
        {
            ppAssembly = this;

            return(Utility.COM_HResults.S_OK);
        }
コード例 #52
0
ファイル: Debugger.cs プロジェクト: fedorw/monodevelop
 void ICorDebugManagedCallback.UnloadAssembly(
                             ICorDebugAppDomain appDomain,
                             ICorDebugAssembly assembly)
 {
     HandleEvent(ManagedCallbackType.OnAssemblyUnload,
                       new CorAssemblyEventArgs( appDomain == null ? null : new CorAppDomain(appDomain),
                                                 assembly == null ? null : new CorAssembly(assembly),
                                                 ManagedCallbackType.OnAssemblyUnload));
 }
コード例 #53
0
 public void UnloadAssembly(ICorDebugAppDomain pAppDomain, ICorDebugAssembly pAssembly)
 {
     Console.WriteLine("UnloadAssembly");
     pAppDomain.Continue(0);
 }