Purpose of DebugPlugin.exec()



我想了解DebugPlugin.exec(String[] cmdLine, File workingDirectory)方法到底是做什么的。

我第一次遇到这个方法是在文章《如何编写Eclipse调试器》中。

插件:core,包:pda。启动,类:PDALaunchDelegate,方法:launch

commandList.add(file.getLocation().toOSString()); 
int requestPort = -1;
int eventPort = -1;
if (mode.equals(ILaunchManager.DEBUG_MODE)) {
    requestPort = findFreePort();
    eventPort = findFreePort();
    if (requestPort == -1 || eventPort == -1) {
        abort("Unable to find free port", null);
    }
    commandList.add("-debug");
    commandList.add("" + requestPort );
    commandList.add("" + eventPort );
} 
String[] commandLine = (String[]) 
commandList.toArray(new String[commandList.size()]);
Process process = DebugPlugin.exec(commandLine, null);
IProcess p = DebugPlugin.newProcess(launch, process, path);
if (mode.equals(ILaunchManager.DEBUG_MODE)) {
    IDebugTarget target = new PDADebugTarget(launch,p,requestPort,eventPort );
    launch.addDebugTarget(target);
}

现在,我已经看到这个方法再次通过Ant插件中的AntLaunchDelegate类。我没有得到的是commandline。是一组被执行的指令吗?我已经研究了DebugPlugin API,但我不完全理解它。

这个方法所做的就是调用运行程序的Java Runtime.getRuntime().exec方法。该方法对发生的任何错误添加一些处理。

字符串数组中的第一个条目是要执行的程序的完整路径,数组的其余部分是传递给程序的参数。

那么数组

new String[] {"/bin/ls", "-l"};

将指定使用参数-l运行/bin/ls命令。

相关内容

  • 没有找到相关文章

最新更新