public int Break(string file, int lineNumber) { EmonicLineInterpreter.AddCmd("break " + file + ":" + lineNumber); int result = EmonicInterpreter.GetBreakpointNumber(); return(result); }
public void RunApp(string workDir) { if (workDir != null) { EmonicLineInterpreter.AddCmd("cd " + workDir); } EmonicLineInterpreter.AddCmd("run"); }
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); }
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); }
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); }
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); }
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"); }
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); }
public void Background() { EmonicLineInterpreter.AddCmd("background"); }
public void Thread(int threadNumber) { EmonicLineInterpreter.AddCmd("thread " + threadNumber); }
public void Frame(int frameNumber) { EmonicLineInterpreter.AddCmd("frame " + frameNumber); }
public void Disable(int breakpointNumber) { EmonicLineInterpreter.AddCmd("disable " + breakpointNumber); }
public void SetVariable(string variable, string value) { EmonicLineInterpreter.AddCmd("set " + variable + " = " + value); }
public void Quit() { EmonicLineInterpreter.AddCmd("quit"); }
public void Next() { EmonicLineInterpreter.AddCmd("next"); }
public void Delete(int breakpointNumber) { EmonicLineInterpreter.AddCmd("delete " + breakpointNumber); }
public void Stop() { EmonicLineInterpreter.AddCmd("stop"); }
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"); }
public void Finish() { EmonicLineInterpreter.AddCmd("finish"); }