示例#1
0
        static void Main(string[] args)
        {
            Label.Checkpoint("init", "finish", (Object context) => {
                Context Context = (Context)context;
                Context.Prepare(@"__FILE__:__LINE__");
                Context.WasEntryPointHit(@"__FILE__:__LINE__");

                var res = Context.MIDebugger.Request("-handshake init");
                Assert.Equal(MIResultClass.Done, res.Class, @"__FILE__:__LINE__");
                MIConst request = (MIConst)res["request"];

                // actually we don't need to calculate response at all, just check request
                Assert.Equal("\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"", request.ToString(), @"__FILE__:__LINE__");

                // netcoredbg should accept any response
                Assert.Equal(MIResultClass.Done,
                             Context.MIDebugger.Request("-handshake response bla-bla-bla").Class,
                             @"__FILE__:__LINE__");

                Context.Continue(@"__FILE__:__LINE__");
            });

            Console.WriteLine("Hello World!");

            Label.Checkpoint("finish", "", (Object context) => {
                Context Context = (Context)context;
                Context.WasExit(@"__FILE__:__LINE__");
                Context.DebuggerExit(@"__FILE__:__LINE__");
            });
        }