(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Отладка кода в Oracle

Источник: foxbase

В этой статье предлагается простой и эффективный способ отладки серверной и клиентской частей приложений Oracle. Способ не претендует на полноту и не призван заменить собой известные способы отладки, однако может быть полезен при отладке бизнес логики приложений.

Этот способ отладки основан на установке простых точек отладки без остановки выполнения приложений. В каждом случае в требуемом месте кода приложения вызывается специальная процедура, в качестве параметра которой передается строка с данными отладки. Строка формируется разработчиком исходя из потребностей отладки и конкретной ситуации.

Для использования этого способа отладки предлагается создать простую таблицу базы данных и процедуру отладки. Эти объекты можно оформить в виде компоненты ядра системы. Таблица имеет следующую структуру:

create table CORE_DEBUG

(ID     number(16),

CREATED    date            default sysdate not null,

CREATED_BY varchar2(30)    default user    not null,

DATA       varchar2(4000)

);

comment on table  CORE_DEBUG            is "Debug info";

comment on column CORE_DEBUG.ID         is "ID";

comment on column CORE_DEBUG.CREATED    is "Date/time";

comment on column CORE_DEBUG.CREATED_BY is "User name";

comment on column CORE_DEBUG.DATA       is "Debug data";

alter table CORE_DEBUG

add constraint PK_CORE_DEBUG

primary key (ID)

using index pctfree 0;

create sequence CORE_DEBUG_SEQ;

Для записи отладочной информации в таблицу создадим процедуру

create or replace

procedure DBG(psDATA in varchar2)

is

pragma autonomous_transaction;

begin

insert

into CORE_DEBUG (ID, DATA)

values (CORE_DEBUG_SEQ.nextval,psDATA);

commit;

end;

/

Для очистки таблицы  с отладочной информацией также создадим процедуру:

create or replace

procedure DBG_DEL

is

pragma autonomous_transaction;

begin

delete CORE_DEBUG

where CREATED_BY=user;

commit;

end;

/

После создания этих объектов можно заниматься отладкой кода. Например, у нас есть некоторая серверная процедура, в которой необходимо узнать в определенный момент значения переменных X и Y. В необходимом месте процедуры записываем такую строчку кода:

DBG("X: "//X//", Y: "//Y);

Далее запускаем отлаживаемую процедуру, затем смотрим результаты, выполнив простой запрос:

select * from CORE_DEBUG where CREATED_BY=user order by ID;

В результате видим значения интересующих нас переменных.

При необходимости узнать значения переменных в клиентских формах или факт выполнения того или иного участка кода, также формируем требуемые вызовы из клиентских форм процедуры CORE_DEBUG.

Отладочная информация записывается с именем пользователя, который формирует вызов CORE_DEBUG. Следовательно, использовать таблицу могут одновременно несколько разработчиков. Для удаления всей отладочной информации текущего пользователя используем вызов процедуры DBG_DEL.

Процедуры DBG и DBG_DEL работают в автономных транзакциях, запись или удаление отладочной информации произойдет гарантировано, и не будет влиять на результаты текущей транзакции, в которой выполняется отлаживаемый код.

Для просмотра и удаления результатов отладки можно сделать отдельную форму, если так будет удобнее.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 22.12.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Standard Edition 2 Processor License
Oracle Database Personal Edition Named User Plus License
Oracle Database Standard Edition 2 Named User Plus License
Oracle Database Personal Edition Named User Plus Software Update License & Support
VMware Horizon 7 Standard : 10 Pack (CCU)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Программирование в AutoCAD
СУБД Oracle "с нуля"
Утиль - лучший бесплатный софт для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100