Использование отладчика EPIC: как получить осмысленную трассировку стека при некорректном завершении программы

Я новичок как в 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, похоже, это ничего не дало.


person dsollen    schedule 20.11.2015    source источник


Ответы (1)


Попробуйте следующий плагин, который работает с EPIC:

http://andrei.gmxhome.de/anyedit/

person tale852150    schedule 23.11.2015
comment
ммм. это интересно, и я посмотрю на его установку. Но я не уверен, что понимаю, как это решит мою проблему? - person dsollen; 23.11.2015
comment
Он отформатирует неправильно отформатированные трассировки стека в Java и работает с EPIC (Perl). Мне не удалось воспроизвести вашу проблему, но я надеялся, что комбинация этих двух функций может вам каким-то образом помочь. - person tale852150; 23.11.2015