Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            PrintCmd display = printInConsole;

            display.Invoke("message for delegate call using Invoke!");
            display("message for delegate call implicit inkove.");
        }
Ejemplo n.º 2
0
        public MainWindowVM(ITenantDBsDir tenantDBsDir, bool clickRefresh = true) : base(tenantDBsDir)
        {
            DateRange      = new DateRangePickerVM(this);
            BankAcctPicker = new BankAccountPickerVM(this, clickRefresh);
            VoucherReqs    = new VoucherReqsTabVM(this);
            DcdrReport     = new DcdrTabVM(this);
            Journals       = new JournalsTabVM(this);
            AllChkVouchers = new AllVoucherRequestsVM(this);
            AdHocJobs      = new AdHocJobCmdsVM(this);

            PrintCmd.SetLabel("Print “Pending Checks” List");
        }
Ejemplo n.º 3
0
        public override void Evaluate(Response response, dynamic arguments)
        {
            var    expression = getString(arguments, "expression");
            string error      = null;

            if (expression == null)
            {
                error = "expression missing";
            }
            else
            {
                // todo check expression
                int frameId = getInt(arguments, "frameId", -1);
                if (frameId == -1)
                {
                    error = "frameId miss";
                }

                PrintCmd cmd = new PrintCmd();
                cmd.m_name      = expression;
                cmd.m_stack_idx = frameId;

                PrintRes res = SendOneCmdAndWaitForResponse(cmd) as PrintRes;
                if (res != null)
                {
                    SendResponse(response, new EvaluateResponseBody(res.ToResString(), 0));
                    return;
                }
                else
                {
                    error = "can not ecaluate, network seems break";
                }
            }
            // 2020-10-13 这个逻辑有抛异常,但是还是没定位到为啥vscode调试卡死。
            //            并且回忆不起来这个调试器代码的原始参考了,也没找到
            //            只找到官方文档:https://microsoft.github.io/debug-adapter-protocol/overview
            //if(error != null)
            {
                SendErrorResponse(response, 3014, "Evaluate request failed ({_reason}).", new { _reason = error });
            }
        }
Ejemplo n.º 4
0
        DebugCmd ParseCmd(string line)
        {
            string[] args = System.Text.RegularExpressions.Regex.Split(line, @"\s+");
            if (args.Length == 0)
            {
                return(null);
            }
            if (args[0] == "b" && args.Length == 3)
            {
                BreakCmd   cmd   = new BreakCmd();
                BreakPoint point = new BreakPoint();
                point.file_name = args[1];
                point.line      = Convert.ToInt32(args[2]);
                cmd.m_cmd_mode  = BreakCmd.BreakCmdMode.Set;
                cmd.m_break_points.Add(point);
                return(cmd);
            }
            else if (args[0] == "br" && args.Length >= 2)
            {
                BreakCmd cmd = new BreakCmd();
                if (args[1] == "list")
                {
                    cmd.m_cmd_mode = BreakCmd.BreakCmdMode.List;
                    return(cmd);
                }
                else if (args[1] == "clear")
                {
                    cmd.m_cmd_mode = BreakCmd.BreakCmdMode.DeleteAll;
                    return(cmd);
                }
                else if (args[1] == "delete" && args.Length >= 3)
                {
                    cmd.m_cmd_mode = BreakCmd.BreakCmdMode.Delete;
                    for (int i = 2; i < args.Length; ++i)
                    {
                        BreakPoint point = new BreakPoint();
                        point.index = Convert.ToInt32(args[i]);
                        cmd.m_break_points.Add(point);
                    }
                    return(cmd);
                }
            }
            else if (args[0] == "c")
            {
                Continue cmd = new Continue();
                return(cmd);
            }
            else if (args[0] == "n")
            {
                StepOver cmd = new StepOver();
                return(cmd);
            }
            else if (args[0] == "s")
            {
                StepIn cmd = new StepIn();
                return(cmd);
            }
            else if (args[0] == "f")
            {
                StepOut cmd = new StepOut();
                return(cmd);
            }
            else if (args[0] == "bt")
            {
                BackTraceCmd cmd = new BackTraceCmd();
                return(cmd);
            }
            else if (args[0] == "p" && args.Length == 2)
            {
                PrintCmd cmd = new PrintCmd();
                cmd.m_name = args[1];
                return(cmd);
            }
            else if (args[0] == "t")
            {
                Terminate cmd = new Terminate();
                return(cmd);
            }
            else if (args[0] == "h")
            {
                Console.Write(_help_info);
            }
            else
            {
                Console.WriteLine("what do you want? type 'h' for help");
            }

            return(null);
        }