Beispiel #1
0
 private IEnumerable <TreeNode> LazyGetChildNodes(VelerSoftware.SZC.Debugger.WindowsDebugger debugger)
 {
     foreach (DebugParameterInfo par in stackFrame.MethodInfo.GetParameters())
     {
         yield return(new ExpressionNode(ExpressionNode.GetImageForParameter(), par.Name, par.GetExpression()));
     }
     foreach (DebugLocalVariableInfo locVar in stackFrame.MethodInfo.GetLocalVariables(this.StackFrame.IP))
     {
         if (locVar.Name != "this")
         {
             yield return(new ExpressionNode(ExpressionNode.GetImageForLocalVariable(), locVar.Name, locVar.GetExpression()));
         }
         else
         {
             yield return(new ExpressionNode(ExpressionNode.GetImageForThis(), "Me", locVar.GetExpression()));
         }
     }
     if (this.project != null)
     {
         foreach (VelerSoftware.SZVB.Projet.Variable var in this.project.Variables)
         {
             yield return(new ExpressionNode(ExpressionNode.GetImageForLocalVariable(), var.Name, debugger.GetExpression(this.project.Nom + ".Variables." + var.Name)));
         }
         foreach (string var in this.project.Parametres)
         {
             yield return(new ExpressionNode(ExpressionNode.GetImageForParameterOfProject(), var, debugger.GetExpression(this.project.Nom + ".My.MySettingsProperty.Settings." + var)));
         }
     }
     if (stackFrame.Thread.CurrentException != null)
     {
         //yield return new ExpressionNode(null, "__exception", new IdentifierExpression("__exception"));
     }
 }
Beispiel #2
0
        public StackFrameNode(StackFrame stackFrame, VelerSoftware.SZVB.Projet.Projet proj, VelerSoftware.SZC.Debugger.WindowsDebugger debugger)
        {
            this.stackFrame = stackFrame;
            this.project    = proj;

            this.Name       = stackFrame.MethodInfo.Name;
            this.ChildNodes = LazyGetChildNodes(debugger);
        }