Я использую Eclipse GALILEO, работающий в Linux Ubuntu с плагином EPIC для запуска / отладки кода Perl, и у меня возникают некоторые проблемы при отладке. Обычно, когда я делаю пошаговую отладку и сталкиваюсь со строкой, где используется определенный модуль Perl, я нажимаю «Step Into», и затем файл модуля просматривается, и стрелка отладки также перемещается туда. Теперь кажется, что есть определенные модули, которые не следуют этому сценарию. Вместо этого, когда я нажимаю «Step Into», процесс запуска происходит где-то на заднем плане. Я имею в виду, что могу нажать «Step Over», и я увижу результаты кода, который выполняется, но я не вижу ни сам файл, ни стрелку.
Чтобы сделать его более понятным, обратитесь к следующему коду:
.
.
if (defined($sysname) && $sysname)
{
$sys_manager->setup_from_name($sysname);
$pf_manager->setup_from_name($sysname);
} else {
die "You must give either a --system parameter or an alias name.";
}
}
.
.
Код от начала до указанной выше части можно найти здесь
Я выполняю пошаговую отладку, пока не достигну строки $sys_manager->setup_from_name($sysname);
. Когда я достигаю его, я нажимаю кнопку «Step Into» (а не «Step Over»). Затем я ожидаю, что в eclipse откроется еще одно окно, которое переключит представление на модуль, где существует этот метод setup_from_name
. Однако, как я упоминал ранее, «стрелка отладки» исчезает. На этом этапе, если я нажимаю кнопку «Step Over», работа продолжается где-то на заднем плане (я вижу, что переменные изменяются). Если я нажму «Шаг возврата», стрелка появится снова и продолжит просмотр видимого кода.
Я также хотел бы отметить, что эти конкретные модули были предоставлены как есть и не установлены с использованием CPAN. Расположение пакетов относительно кода, который их использует, выглядит следующим образом:
folder A/ #General folder
folder B/ #Where the scripts which use the above mentioned modules are located
folder C/ #Where the modules are located
Я надеюсь, что мой вопрос достаточно ясен, однако, если это не так, пожалуйста, прокомментируйте, и я уточню.
UPDATE
Я включил EPIC «Консоль отладчика (экспериментальная)», и кажется, что появляется ошибка при достижении проблемного модуля во время процесса отладки. К сожалению, я не могу прочитать и понять эти данные отладчика. Ошибка - очень длинное сообщение, которое частично вставлено ниже:
S00000003$^AS00000002''NS00000003$^DS000000010NS00000003$^ES0000001b'No such file or directory'NS00000003$^FS000000012NS00000003$^HS00000003256NS00000003$^LS00000003
Полный текст сообщения об ошибке доступен по этой ссылке
Может быть, это прольет немного света ..
ОБНОВЛЕНИЕ 2
Мне было предложено проверить, существует ли соответствующий путь к модулю в «Perl Include Path» в свойствах проекта в Eclipse. Однако я сделал это, к сожалению, без изменений.