Пример #1
0
        public int Break(string file, int lineNumber)
        {
            EmonicLineInterpreter.AddCmd("break " + file + ":" + lineNumber);
            int result = EmonicInterpreter.GetBreakpointNumber();

            return(result);
        }
Пример #2
0
 public void RunApp(string workDir)
 {
     if (workDir != null)
     {
         EmonicLineInterpreter.AddCmd("cd " + workDir);
     }
     EmonicLineInterpreter.AddCmd("run");
 }
Пример #3
0
 public EmonicInterpreter.backtraceData Backtrace(bool execute)
 {
     if (execute)
     {
         EmonicInterpreter.backtraceList.Clear();                 // remove all previous elements from the list
         EmonicLineInterpreter.AddCmd("backtrace");
     }
     EmonicInterpreter.backtraceData btd = EmonicInterpreter.GetNextBacktraceLine();
     return(btd);
 }
Пример #4
0
 public EmonicInterpreter.threadData GetThreads(bool execute)
 {
     if (execute)
     {
         EmonicInterpreter.threadList.Clear();                 // remove all previous elements from the list
         EmonicLineInterpreter.AddCmd("show threads");
     }
     EmonicInterpreter.threadData td = EmonicInterpreter.GetNextThreadLine();
     return(td);
 }
Пример #5
0
        public string GetParameters()
        {
            if (!EmonicInterpreter.IsCurrentThreadStopped())
            {
                // would block if current thread is not stopped!
                return("--");
            }
            EmonicLineInterpreter.AddCmd("show parameters");
            string result = EmonicInterpreter.GetParamsOutput();

            return(result);
        }
Пример #6
0
 public EmonicInterpreter.printData Print(string variableName)
 {
     if (!EmonicInterpreter.IsCurrentThreadStopped())
     {
         // would block if current thread is not stopped!
         EmonicInterpreter.printData error = new EmonicInterpreter.printData();
         error.type = error.varValue = error.varNames = "";
         return(error);
     }
     EmonicLineInterpreter.AddCmd("print " + variableName);
     EmonicInterpreter.printData pd = EmonicInterpreter.GetPrintOutput();
     return(pd);
 }
Пример #7
0
        public void StartMdb(string cmdLine)
        {
            string[] args = cmdLine.Split(' ');
            DebuggerConfiguration config = new DebuggerConfiguration();

            config.LoadConfiguration();
            DebuggerOptions options = DebuggerOptions.ParseCommandLine(args);

            System.Console.WriteLine("Mono Debugger");
            EmonicLineInterpreter interpreter = new EmonicLineInterpreter(config, options);

            interpreter.RunMainLoop();
            // we don't want an automatic breakpoint in Main(), and we want to be able
            // to set a breakpoint there, so we delete the automatic one
            EmonicLineInterpreter.AddCmd("delete 1");
        }
Пример #8
0
        public string PtypeFieldsOnly(string className, bool staticOnly)
        {
            if (!EmonicInterpreter.IsCurrentThreadStopped())
            {
                // would block if current thread is not stopped!
                return("--");
            }
            EmonicLineInterpreter.AddCmd("ptype " + className);
            string result;

            if (staticOnly)
            {
                result = EmonicInterpreter.GetPTypeOutputStaticOnly();
            }
            else
            {
                result = EmonicInterpreter.GetPTypeOutput();
            }
            return(result);
        }
Пример #9
0
 public void Background()
 {
     EmonicLineInterpreter.AddCmd("background");
 }
Пример #10
0
 public void Thread(int threadNumber)
 {
     EmonicLineInterpreter.AddCmd("thread " + threadNumber);
 }
Пример #11
0
 public void Frame(int frameNumber)
 {
     EmonicLineInterpreter.AddCmd("frame " + frameNumber);
 }
Пример #12
0
 public void Disable(int breakpointNumber)
 {
     EmonicLineInterpreter.AddCmd("disable " + breakpointNumber);
 }
Пример #13
0
 public void SetVariable(string variable, string value)
 {
     EmonicLineInterpreter.AddCmd("set " + variable + " = " + value);
 }
Пример #14
0
 public void Quit()
 {
     EmonicLineInterpreter.AddCmd("quit");
 }
Пример #15
0
 public void Next()
 {
     EmonicLineInterpreter.AddCmd("next");
 }
Пример #16
0
 public void Delete(int breakpointNumber)
 {
     EmonicLineInterpreter.AddCmd("delete " + breakpointNumber);
 }
Пример #17
0
 public void Stop()
 {
     EmonicLineInterpreter.AddCmd("stop");
 }
Пример #18
0
 public void StartMdb(string cmdLine)
 {
     string[] args = cmdLine.Split(' ');
     DebuggerConfiguration config = new DebuggerConfiguration ();
     config.LoadConfiguration ();
     DebuggerOptions options = DebuggerOptions.ParseCommandLine (args);
     System.Console.WriteLine ("Mono Debugger");
     EmonicLineInterpreter interpreter = new EmonicLineInterpreter (config, options);
     interpreter.RunMainLoop();
     // we don't want an automatic breakpoint in Main(), and we want to be able
     // to set a breakpoint there, so we delete the automatic one
     EmonicLineInterpreter.AddCmd("delete 1");
 }
Пример #19
0
 public void Finish()
 {
     EmonicLineInterpreter.AddCmd("finish");
 }