Я новичок как в perl, так и в epic, так что простите меня за очевидные вещи. Я поигрался в интернете и ничего не нашел.
Я запускаю программу Perl в отладчике, которая не работает. Когда это не удается, я получаю довольно бесполезное сообщение. Я не могу скопировать и вставить его, и я не могу написать его от руки, потому что в нем так много неузнаваемых символов. Это выглядит примерно так:
Debugged program terminated. use [imq[0m to quit or [1mr[om to restart,
use [1mo[0m [4minhibit_exit[24m to avoid stopping after program termination
Везде, где есть скобки, отображается как неопределенный символ в окне консоли eclipse.
Чего я не получаю, так это какой-либо полезной трассировки стека. Я вижу, что метод setup_ram_directories был вызван, потому что это последняя строка отладчика перед ошибкой. Однако фактическая ошибка возникает глубже в стеке. Я не получаю трассировку стека и не могу заставить eclipse приостанавливаться при возникновении ошибки, чтобы я мог проверить состояние памяти, вызвавшее сбой.
Некоторая дополнительная игра, по-видимому, предполагает, что EPIC сбивается всякий раз, когда вызывается метод, определенный в другом модуле, а setup_ram_directories определяется во вспомогательном модуле. Если я углублюсь в описанный выше метод, пока не найду метод, содержащийся в модуле, который генерирует исключение, а затем нажму «Выполнить», я получу правильную трассировку стека. Однако для ошибок глубоко в моем стеке требуется несколько запусков программы, чтобы определить, какие методы и модули не работают, прежде чем я доберусь до точки, где я получу правильную трассировку стека.
Есть ли какая-то конфигурация, которую мне нужно сделать, чтобы PERL предоставил мне правильную трассировку стека? Или, что еще лучше, я бы предпочел приостановить отладчик, когда программа выйдет из строя, чтобы я мог проверить переменные.
Я пробовал запретить_выход из представления выражений perl, похоже, это ничего не дало.