Нажмите на трассировку стека во внешних инструментах Eclipse - PullRequest
1 голос
/ 27 августа 2010

Я использую функцию внешних инструментов Eclipse для запуска моего тестового сервера (я не могу использовать для него обычное представление серверов, так как оно не поддерживается).

Это отлично работает, но немного грустно, что я не могу щелкнуть трассировку стека, чтобы автоматически перейти к этой строке в коде (как вы обычно это делаете). Я всегда думал, что консоль eclipse автоматически распознает строки кода.

Есть ли способ сделать это для внешних инструментов?

Спасибо

Ответы [ 2 ]

1 голос
/ 23 августа 2018

В качестве обходного пути я создал простую программу-оболочку Java, которая выполняет команду, заданную в качестве аргументов. Это позволяет использовать конфигурацию запуска Eclipse Java вместо внешнего инструмента.

public class Exec {
    private final Process process;
    private boolean error;

    public Exec(Process process) {
        this.process = process;
    }

    public static void main(String[] command) throws Exception {
        new Exec(Runtime.getRuntime().exec(command)).run();
    }

    public void run() throws Exception {
        Thread thread = new Thread(() -> copy(process.getInputStream(), System.out));
        thread.start();
        copy(process.getErrorStream(), System.err);

        int status = process.waitFor();
        thread.join();
        System.err.flush();
        System.out.flush();
        System.exit(status != 0 ? status : error ? 1 : 0);
    }

    private void copy(InputStream in, OutputStream out) {
        try {
            byte[] buffer = new byte[4096];
            for (int count; (count = in.read(buffer)) > 0;) {
                out.write(buffer, 0, count);
            }
        } catch (IOException e) {
            error = true;
            e.printStackTrace();
        }
    }
}
1 голос
/ 27 августа 2010

Вы можете скопировать трассировку стека в консоль Java Stack Trace. В консоли переключитесь на новую консоль Java Stack Trace, вставьте трассировку стека, и она сразу же станет активной.

Кроме того, проверьте плагин LogViewer , насколько я помню, он может сделать это с меньшими усилиями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...