Exemple #1
0
 IEnumerable <TreeNode> LazyGetChildNodes()
 {
     foreach (DebugParameterInfo par in stackFrame.MethodInfo.GetParameters())
     {
         string imageName;
         var    image      = ExpressionNode.GetImageForParameter(out imageName);
         var    expression = new ExpressionNode(image, par.Name, par.GetExpression());
         expression.ImageName = imageName;
         yield return(expression);
     }
     foreach (DebugLocalVariableInfo locVar in stackFrame.MethodInfo.GetLocalVariables(this.StackFrame.IP))
     {
         string imageName;
         var    image      = ExpressionNode.GetImageForLocalVariable(out imageName);
         var    expression = new ExpressionNode(image, locVar.Name, locVar.GetExpression());
         expression.ImageName = imageName;
         yield return(expression);
     }
     if (stackFrame.Thread.CurrentException != null)
     {
         yield return(new ExpressionNode(null, "__exception", new IdentifierExpression("__exception")));
     }
 }
Exemple #2
0
        IEnumerable <TreeNode> LazyGetChildNodes()
        {
            foreach (DebugParameterInfo par in stackFrame.MethodInfo.GetParameters())
            {
                var image      = ExpressionNode.GetImageForParameter();
                var expression = new ExpressionNode(image, par.Name, par.GetExpression());
                yield return(expression);
            }
            var ip = this.StackFrame.IP;

            if (ip.IsValid)
            {
                foreach (DebugLocalVariableInfo locVar in stackFrame.MethodInfo.GetLocalVariables(ip.Offset))
                {
                    var image      = ExpressionNode.GetImageForLocalVariable();
                    var expression = new ExpressionNode(image, locVar.Name, locVar.GetExpression());
                    yield return(expression);
                }
            }
            if (stackFrame.Thread.CurrentException != null)
            {
                yield return(new ExpressionNode(null, "__exception", new IdentifierExpression("__exception")));
            }
        }