示例#1
0
		public StackFrame (void* ip, void* bp, MethodBoundary methodBoundary)
		{
			this.IP = ip;
			this.BP = bp;
			this.MethodBoundary = methodBoundary;

			if (methodBoundary.ExceptionHandlingClauses != null) {
				this.IgnoreMethodBoundaryClause = new bool [methodBoundary.ExceptionHandlingClauses.Length];

				for (int i = 0; i < this.IgnoreMethodBoundaryClause.Length; i++)
					this.IgnoreMethodBoundaryClause [i] = false;
			} else
				this.IgnoreMethodBoundaryClause = new bool [0];
		}
示例#2
0
		private static void PrintMethodBoundary (MethodBoundary methodBoundary)
		{
			Debug.COM1.Write ("MethodBoundary: ");
			Debug.COM1.WriteLine (methodBoundary.Name);

			if (methodBoundary.ExceptionHandlingClauses != null) {
				Debug.COM1.Write ("\tExceptions: ");
				Debug.COM1.WriteNumber (methodBoundary.ExceptionHandlingClauses.Length, false);
				Debug.COM1.WriteLine ();

				for (int i = 0; i < methodBoundary.ExceptionHandlingClauses.Length; i++)
					PrintExceptionHandlingClauses (methodBoundary.ExceptionHandlingClauses [i]);
			}
		}