几天前我在Eclipse中编写了一个Textinterpreter插件,它基本上是一个文本文件,只是在控制台中打印出它的内容。它通过首先获取文本文件并将其转换为字符串来完成此操作。 然后它会在其中生成一个Arraylist,每行都会在控制台中打印出来。
List<String> mLines = new LinkedList<String>(Arrays.asList(string)
while(!mLines.isEmpty())) {
String line = mLines.remove(0);
if(line.equals("Stop...")){
debug(DebugAction.Suspend);
}
System.out.println(">>> " + line + " <<<");
}
你可以在上面的代码中看到if语句,它检查“Stop ...”是否写在文本文件的任何一行上,如果是,那么 debug()< / em>调用funtion(除非用户在debugmode中按resume()按钮,否则它将暂停运行。)
现在我想对.java文件做同样的事情。即编写一个Java解释器插件,它正常执行java文件,直到找到用代码写的“Stop ...”。
任何建议?
答案 0 :(得分:1)
我不认为你真的想要实现一个Java 解释器,这可能是一个让你忙碌多年的大项目。
对您来说,最自然的解决方案可能是扫描Java源文件并在每个Stop语句中自动create breakpoints。然后在调试模式下运行应用程序,您将获得所需的行为。由于您只需要用于创建断点的行号,因此您可以逐行读取/扫描文件。
要执行其他语句(如调用debug(..)
)add your snippet as a breakpoint condition(后跟return true;
,告诉调试确实停止)。