Отслеживание runtime ошибок

Обсуждение вопросов по разработке программ в среде продуктов копорации "Progress Software"
Progressive
Старожил
Сообщения: 26
Зарегистрирован: 28 ноя 2007, 07:35

Отслеживание runtime ошибок

Сообщение Progressive » 27 окт 2009, 16:45

Приветствую. :) Для примера, SUBSTR("abc",0) даёт runtime ошибку, выводится мэссэдж, все последующие операторы не выполняются, управление передаётся вызывающей проге. При этом ошибки оператора RUN не возникает, ERROR-STATUS:ERROR даёт NO. Беглый просмотр документации по runtime ошибкам и ошибкам вообще ничего не дал. Эксперементы с RUN, RETURN ERROR, разными вариантами вызова навели на тревожную мысль, что, возможно, оперативно эту ошибку отловить невозможно в достаточно сложном приложении на Progress (построчный debug к оперативным не отнесёшь). Может быть есть какие-то методы, поделитесь пожалуйста?

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва

Re: Отслеживание runtime ошибок

Сообщение dmi » 27 окт 2009, 17:02

включи 4GL Trace.
для v9.1C недокументированый SESSION:EXECUTION-LOG (и искать в -T файл с логом)

либо для >v9.1D/v10 - -clientlog mylog.lg -logginglevel4 -logentrytypes 2

Progressive
Старожил
Сообщения: 26
Зарегистрирован: 28 ноя 2007, 07:35

Сообщение Progressive » 27 окт 2009, 18:33

Ключ -clientlog сразу дал довольно точную наводку (всё, кроме имени инклудника, ну и номер строки соответственно неинформативен при наличии инклудов):
[09/10/27@21:16:02.486+0600] P-024705 T-000000 1 4GL -- (Procedure: 'ProcName pr_name.p' Line:7084) ** Starting position for SUBSTRING, OVERLAY, etc. must be 1 or greater. (82)
Большое спасибо за оперативный и дельный совет! :wink:

Аватара пользователя
dmi
Старожил
Сообщения: 1523
Зарегистрирован: 27 сен 2001, 03:00
Откуда: Москва

Сообщение dmi » 27 окт 2009, 21:18


Аватара пользователя
svr
Старожил
Сообщения: 68
Зарегистрирован: 13 июл 2001, 03:00

Сообщение svr » 29 окт 2009, 21:23


Progressive
Старожил
Сообщения: 26
Зарегистрирован: 28 ноя 2007, 07:35

Сообщение Progressive » 30 окт 2009, 13:36