Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определние последовательности вызовов функций 
:(
    Опции темы
shh
Дата 27.11.2007, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 27.11.2007

Репутация: нет
Всего: нет



В eval вызывается некотрый код состоящий из вызова множества функций, при возникновении ошибки в нем, хотелось бы узнать цепочку вызыванных функций до места ошибки.
caller насколько я понимаю дальше самого evala не показывает, а инетресно что там внутри вызывалось..
PM MAIL   Вверх
shamber
Дата 27.11.2007, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



shh, поставь komodo и смотри smile
PM MAIL Jabber   Вверх
shh
Дата 27.11.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 27.11.2007

Репутация: нет
Всего: нет



Тема вроде не в разделе юмор?
PM MAIL   Вверх
KSURi
Дата 27.11.2007, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



а кто шуткует-то? отладчик позволяет "входить" в eval со всеми вытекающими...


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
shh
Дата 27.11.2007, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 27.11.2007

Репутация: нет
Всего: нет



все должно происходить автоматически без всяких ручных отладчиков
если знаешь как создать на лету отладчик и вытянуть из него все что надо - напиши
PM MAIL   Вверх
amg
Дата 27.11.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 38
Всего: 50



Не совсем то, но вдруг поможет
Код

perl -d:DProf script.pl && dprofpp -T
Будет напечатана последовательность всех вызванных функций (и внутри eval тоже)
PM MAIL   Вверх
shamber
Дата 28.11.2007, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



shh, в первом посте про автоматически ни слова smile
потому такой и ответ

Это сообщение отредактировал(а) shamber - 28.11.2007, 13:20
PM MAIL Jabber   Вверх
shh
Дата 28.11.2007, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 27.11.2007

Репутация: нет
Всего: нет



amg 
мне не нужно в процесе отладки это узнать
мне нужно в процессе выполнения контролировать ошибки и генерировать полноценную отладочную информация
а perl вообще работает как mod_perl, так что никакого perl -d smile
PM MAIL   Вверх
arto
Дата 28.11.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



perldoc DB ?
PM MAIL ICQ   Вверх
shh
Дата 29.11.2007, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 27.11.2007

Репутация: нет
Всего: нет



В perldoc DB я вижу как написать свой собственный внешний отладчик.
А вот как в обыкновенной программе в нужный момент включить/внедрить/сгенерить отлачик для получения необходимой информации я не понял.
PM MAIL   Вверх
KSURi
Дата 29.11.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 20
Всего: 27



Тогда почему бы не попробовать примерно так:
Код

my $lastSub;
eval {
    mySub1() || $lastSub = 'mySub1', die;
#  ...
    mySubN() || $lastSub = 'MySub2', die;
}

print "Last sub: $lastSub" if $@;



--------------------
Died at Life.pl line 21
PM Jabber   Вверх
shamber
Дата 29.11.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



KSURi, как я понял ему внедряться нужно...... 
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.