- Серія контенту:
- Цей контент є частиною серії: Приступаємо до налагодження збережених SQL-процедур з використанням IBM...
- Вступ
- Створення збережених процедур
- Конструктор збережених процедур
- Малюнок 1. Відкрийте конструктор збережених процедур для нової процедури
- Малюнок 2. Встановіть режим налагодження для процедури в конструкторі процедур
- Малюнок 3. Відкрийте існуючу процедуру в конструкторі процедур
- Малюнок 4. Перевірте чи змініть настройку Build for Debug в конфігураціях вашого проекту
- запуск налагоджувача
- Малюнок 5. Запустіть SQL-відладчик з вузла процедури в Server Explorer
- Малюнок 6. Діалогове вікно Run Options
- Малюнок 7. Поточна позиція відзначається жовтим маркером в лівому полі
- Малюнок 8. Вікно IBM Debugger Task Status дозволяє скасувати сеанс налагодження, якщо процес запуску...
- Подання Local variables (локальні змінні)
- Малюнок 9. Переглядайте і змінюйте будь-яку змінну в поданні Local variables
- Малюнок 10. Переглядайте і змінюйте змінні в поданні Auto variable
- Малюнок 11. Переглядайте і змінюйте вибрані вами змінні в поданні Watch variable
- Малюнок 12. Переглядайте і змінюйте змінні, поміщаючи над ними курсор
- Малюнок 13. Подання стека викликів
- Зміна значень змінних
- Виконання в покроковому режимі
- точки зупинки
- Точки зупинки для рядка
- Малюнок 14. Маркер точки зупину вказує місце розташування точки зупину для рядка
- Точки зупинки для змінних
- Малюнок 15. Створення точки зупину для змінної
- Малюнок 16. Перегляд і зміна точок зупину
- Налагодження SQL-процедур в базах даних DB2 for z / OS Version 8
- налаштування відладчика
- Малюнок 17. Редагування налаштувань відладчика
- Ресурси для скачування
Приступаємо до налагодження збережених SQL-процедур з використанням IBM Database Add-Ins for Visual Studio 2005
Серія контенту:
Цей контент є частиною # з серії # статей: Приступаємо до налагодження збережених SQL-процедур з використанням IBM Database Add-Ins for Visual Studio 2005
https://www.ibm.com/developerworks/ru/views/global/libraryview.jsp?series_title_by=Приступаем+к+отладке+хранимых+sql-процедур+с+использованием+ibm+database+add-ins+for+ visual + studio + 2005
Слідкуйте за виходом нових статей цієї серії.
Цей контент є частиною серії: Приступаємо до налагодження збережених SQL-процедур з використанням IBM Database Add-Ins for Visual Studio 2005
Слідкуйте за виходом нових статей цієї серії.
Вступ
Програмний продукт IBM® Database Add-Ins for Visual Studio® 2005 надає розширені можливості для налагодження збережених SQL-процедур. Якщо ви знайомі з процесом налагодження додатків, написаних на таких мовах як C #, Visual Basic або C ++ (з використанням Microsoft Visual Studio 2005), то виявите, що налагодження DB2® SQL-процедур аналогічна.
Способи створення збережених процедур з підтримкою налагодження і способи запуску відладчика були спрощені в Visual Studio 2005. У Visual Studio 2003 існувало два різних вікна, отображавших вихідний код процедури: одне використовувалося для налагодження, а друге - для змін і перекомпонування. У Visual Studio 2005 є одне вікно вихідного коду для процедури, що використовується як для створення, так і для налагодження. Це робить процес створення, налагодження, зміни і перекомпонування збереженої процедури більш легким в управлінні.
Щоб отримати найбільшу користь від цієї статті, ви повинні бути знайомі з використанням IBM Database Add-Ins for Visual Studio для створення з'єднань з базою даних і роботи з об'єктами бази даних, наприклад, таблицями і збереженими процедурами. Хорошим способом познайомитися з IBM Database Add-Ins for Visual Studio є вивчення серій навчальних посібників " Огляд програми IBM Database Add-Ins for Visual Studio 2005 "І" Розробка експериментальних .NET-додатків ".
У даній статті розглядаються налагоджувальні можливості DB2 Database Add-Ins for Visual Studio 2005, Version 9, Fix Pack 2. Налагодження можливості більш ранніх версій IBM Database Add-Ins for Visual Studio 2005 було аналогічними, але деякі незначні відмінності будуть також розглянуті.
Створення збережених процедур
Щоб мати можливість налагодження збережених SQL-процедур, їх потрібно створювати з підтримкою налагодження. IBM Database Add-Ins надає два різні способи створення придатних для налагодження збережених процедур: конструктор збережених процедур і проект бази даних DB2. Перед застосуванням одного з цих способів необхідно створити з'єднання з базою даних в Server Explorer. Детальна інформація по створенню з'єднань наведена в розділі " Інтеграція Server Explorer "Статті" Огляд програми IBM Database Add-Ins for Visual Studio 2005 ".
Конструктор збережених процедур
Після створення з'єднання розгорніть вузол connection. Клацніть правою кнопкою миші на вузлі Procedures і виберіть Add new SQL Procedure with Designer.
Малюнок 1. Відкрийте конструктор збережених процедур для нової процедури
Використовуйте інструментальну програму designer для створення нової процедури, що. Переконайтеся в тому, що поле Debug mode встановлено в значення ALLOW, що дозволяє налагодження.
Малюнок 2. Встановіть режим налагодження для процедури в конструкторі процедур
Конструктор збережених процедур можна використовувати для налагодження збережених SQL-процедур, які вже існують, але не були спочатку створені з підтримкою налагодження. Для цього розгорніть вузол Procedures в вашому з'єднанні і клацніть правою кнопкою миші на процедурі, яку хочете налагоджувати. Виберіть Open Definition, щоб відкрити конструктор для даної процедури. Потім встановіть режим налагодження в значення ALLOW і збережіть процедуру.
Малюнок 3. Відкрийте існуючу процедуру в конструкторі процедур
DB2-проект
Створити збережені SQL-процедури для налагодження можна також з використанням DB2-проекту. Перш за все, створіть новий DB2-проект або відкрийте існуючий.
Створення збережених процедур в режимі налагодження вимагає використання конфігурації проекту з дозволеним властивістю Build for Debug. При створенні нового DB2-проекту створюються дві його конфігурації: Debug і Release. Спочатку властивість Build for Debug дозволено в конфігурації Debug, але не в Release. Перевірити настройки проекту можна на сторінках властивостей проекту. Клацніть правою кнопкою миші на вашому проекті і виберіть Properties. З'явиться редактор сторінки властивостей проекту.
Малюнок 4. Перевірте чи змініть настройку Build for Debug в конфігураціях вашого проекту
Після створення збережених процедур з використанням DB2-проекту необхідно оновити вузол Procedures в з'єднанні, для того щоб побачити нові процедури, що зберігаються.
запуск налагоджувача
На відміну від процесу налагодження вихідного коду, написаного на інших мовах, таких як Microsoft Visual Basic або Microsoft C #, SQL-відладчик IBM не починається з проекту. Замість цього налагодження запускається з DB2-з'єднання в Server Explorer або з конструктора збережених процедур.
Для запуску налагодження з DB2-з'єднання в Server Explorer розгорніть ваше з'єднання під Data Connections, а потім розгорніть вузол Procedures. Клацніть правою кнопкою миші на SQL-процедурі, яку хочете налагоджувати, і виберіть Step Into.
Малюнок 5. Запустіть SQL-відладчик з вузла процедури в Server Explorer
Для запуску відладчика з конструктора збережених процедур спочатку відкрийте конструктор, як було описано вище . Встановіть режим налагодження процедури в значення ALLOW і збережіть всі зроблені зміни. Потім виконайте одну з таких дій для запуску відладчика: натисніть кнопку Step Into панелі інструментів конструктора збережених процедур, виберіть пункт меню Step Into в меню верхнього рівня IBM Procedure Designer або пункт меню Step Into в контекстному меню, доступному при натисканні правою кнопкою миші в конструкторі процедур .
Наступним кроком при запуску відладчика є діалогове вікно Run Options. Тут можна вказати початкові значення для будь-яких вхідних параметрів. При бажанні ви можете вказати, виконувати чи автоматично фіксацію в кінці процедури, що, а також SQL-сценарії, які потрібно запускати до і після налагодження збереженої процедури. Самі ці сценарії (pre-run або post-run) НЕ отлаживаются.
Малюнок 6. Діалогове вікно Run Options
Тепер відладчик повинен запуститися і автоматично зупинитися на першому рядку збереженої процедури. Поточна позиція відзначається жовтим маркером в лівому полі. Після зупинки виконання на першому рядку можна встановити точки зупину. Потім можна продовжити виконання, використовуючи будь-яку покрокову операцію.
Малюнок 7. Поточна позиція відзначається жовтим маркером в лівому полі
Стан завдання IBM-відладчика
При запуску і виконання відладчика SQL-процедур відображається вікно IBM Debugger Task Status. Це - плаваюче інструментальне вікно, але його можна прикріпити, аналогічно будь-якого іншого вікна в Visual Studio.
Вікно стану завдання показує дії, виконані при старті і зупинці відладчика. Іноді може бути необхідно зупинити деякі з цих дій, якщо вони виконуються дуже довго. При виконанні завдання, яке може бути скасовано, дозволяється кнопка Cancel. Це вікно відображається тільки в Version 9 Fix Pack 2 і старше.
Малюнок 8. Вікно IBM Debugger Task Status дозволяє скасувати сеанс налагодження, якщо процес запуску виконується занадто довго
уявлення відладчика
При налагодженні збережених SQL-процедур є кілька функціональних можливостей, доступних для перевірки поточного стану процедури. Їх можна використовувати тільки при зупинці відладчика в збереженій процедурі.
Подання Local variables (локальні змінні)
Подання Local variables (локальні змінні) можна відобразити, вибравши меню верхнього рівня Debug, каскадне меню Windows і далі пункт меню Locals. Воно показує всі локальні змінні і параметри, видимі в поточній позиції. Показуються також діагностичні змінні SQLCODE і SQLSTATE. Значення змінних можна оновити.
Малюнок 9. Переглядайте і змінюйте будь-яку змінну в поданні Local variables
Подання Auto variables (автоматичні змінні)
Подання Auto variables (автоматичні змінні) можна відобразити, вибравши меню верхнього рівня Debug, каскадне меню Windows і далі пункт меню Autos. Воно показує всі змінні, на які є посилання в поточних і сусідніх рядках. Показуються також діагностичні змінні SQLCODE і SQLSTATE. Значення змінних можна оновити.
Малюнок 10. Переглядайте і змінюйте змінні в поданні Auto variable
Подання Watch (спостереження)
Аналогічно уявленням Locals і Autos, до подання Watch (спостереження) можна звернутися з меню верхнього рівня Debug і каскадного меню Windows. В даному випадку є ще одне каскадне меню, Watch, в якому можна вибрати будь-який з пунктів меню Watch 1, Watch 2, Watch 3 або Watch 4. Кожне з вікон Watch дозволяє ввести ім'я змінної, значенням якої ви цікавитеся. Показуються тільки ці змінні. Це уявлення корисно, якщо налагоджувати збережена процедура містить велику кількість змінних, а ви цікавитеся тільки деякими. Можна також вибрати змінні в вихідному коді процедури, і перемістити їх у вікно Watch.
Малюнок 11. Переглядайте і змінюйте вибрані вами змінні в поданні Watch variable
Подання Hover variables
Ви можете переглянути значення будь-якої змінної, навівши курсор на її ім'я в вихідному коді процедури. Для зміни її значення натисніть ліву кнопку миші у спливаючому поданні або клацніть правою кнопкою і виберіть пункт Edit Value з контекстного меню.
Малюнок 12. Переглядайте і змінюйте змінні, поміщаючи над ними курсор
стек викликів
Аналогічно багатьом іншим уявленням, це уявлення можна активізувати, вибравши меню верхнього рівня Debug, каскадне меню Windows і далі пункт меню Call Stack. При налагодженні вкладених процедур, в яких виконується виклик інших збережених SQL-процедур, це уявлення може показати, які рядки в інших процедурах викликають поточну процедуру. Стек викликів відображається зверху вниз: поточна процедура вгорі, потім викликала її процедура і т.д. Виконавши подвійне клацання кнопкою миші на назві будь-якої з процедур, можна побачити позицію в ній, з якої був активізований виклик. Можна також переглянути змінні, що знаходяться в області видимості кожної з викликають процедур, використовуючи уявлення локальних змінних або будь-які інші уявлення змінних.
Малюнок 13. Подання стека викликів
операції відладчика
При зупинці збереженої процедури в точці зупинки є можливість перевірити стан її виконання, як описано вище. Крім перегляду можна змінити значення змінних. Існує кілька варіантів продовження виконання процедури.
Зміна значень змінних
У будь-якому з описаних вище уявлень значень змінних (локальні змінні, автоматичні змінні, які спостерігаються змінні і спливаюче уявлення) є можливість змінити значення змінних. Зазвичай це робиться шляхом вибору значення змінної, її активації за допомогою подвійного клацання або натискання F2 і введення нового значення. Для зміни значення змінної в NULL, використовуйте (NULL). Значення SQLCODE і SQLSTATE змінити не можна.
Виконання в покроковому режимі
Підтримуються наступні типи покрокового виконання: step over (крок з обходом процедур), step into (крок з заходом в процедуру) і step out (крок з виходом з процедури). Крім покрокового режиму можна зупинити виконання або продовжити виконання до припинення або до точки зупинки.
Step over викликає продовження виконання до наступної точки в поточній процедурі. При зупинці на операторі CALL step into викликає продовження виконання з першого рядка підпрограми, що викликається. Якщо викликана підпрограма не є SQL-процедурою, яка підтримує налагодження, або якщо виконання не зупинилося на операторі CALL, step into працює точно так само, як і step over.
Step out викликає продовження виконання до настання одного з наступних умов: досягнута точка затримки (stopping point) в процедурі, що викликала поточну, активізована точка зупинки, виконався вихід з процедури.
Точки затримки безпосередньо не відповідає рядкам вихідного коду. Зазвичай точки затримки визначаються в кожному місці вихідного коду, де значення змінних читаються або змінюються, оператори управління впливають на хід виконання і зустрічаються оператори call. Точні оператори, що містять точки затримки, залежать від платформи. Один рядок коду може мати кілька точок затримки. Це відбувається при наявності в одному рядку декількох операторів. На деяких платформах це можливо при наявності декількох оголошень змінних в одному рядку. Якщо в одному рядку є кілька точок затримки, операції step into або step over в цьому рядку приведуть до зупинки виконання на ній же.
Операція Stop Debugging призводить до переривання процедури без її завершення. В цьому випадку в панелі результатів налагодження відображається виняткова ситуація, яка вказує на переривання процедури. При зупинці процедури не виводяться будь-які вихідні параметри або повертаються набори змінних.
Операція Continue викликає продовження виконання або до активізації точки зупину, або до виходу з процедури.
Всі ці операції управління виконанням доступні з основного меню Debug в Visual Studio, коли виконання переривається або зупиняється на точці зупинки.
точки зупинки
Існує два типи точок зупину, підтримуваних отладчиком SQL-процедур: line breakpoints (точки зупину для рядка) і variable breakpoints (точки зупину для змінної).
Точки зупинки для рядка
Точки зупинки для рядка можуть бути встановлені в будь-якому рядку з використанням точок затримки. Точки зупинки для рядка викликають зупинку виконання процедури при досягненні точки затримки. Найпростішим способом установки точки зупину для рядка є натискання лівої кнопки миші на лівому полі поруч з рядком.
Малюнок 14. Маркер точки зупину вказує місце розташування точки зупину для рядка
Якщо точку зупину встановити в рядку, що не містить точок затримки, ця точка зупинки ніколи не буде активізована, а також не матиме ніякого впливу на роботу процедури.
Точки зупинки для змінних
Точки зупинки для змінних активізуються, коли значення змінної змінюється. Для установки такої точки натисніть ліву кнопку миші на імені змінної у вихідному коді процедури, що і праву кнопку для активації контекстного меню. Виберіть каскадне меню Breakpoints і пункт Insert variable breakpoint.
Малюнок 15. Створення точки зупину для змінної
Завжди, коли змінюється значення змінної, виконання процедури зупиняється в наступній точці затримки після зміни значення, і з'являється повідомлення про цю зміну.
Для активізації інструментального вікна Breakpoints використовуйте меню верхнього рівня Debug, активізуйте каскадне меню Windows і виберіть Breakpoints. Це інструментальне вікно може також використовуватися для видалення точок зупину, включаючи точки зупину для змінних. Для видалення точки зупину у вікні Breakpoints клацніть правою кнопкою миші на ній і виберіть Delete. Альтернативним способом видалення точки зупину є клацання на ній лівою кнопкою миші в лівому полі редактора вихідного коду збереженої процедури.
Малюнок 16. Перегляд і зміна точок зупину
Інструментальне вікно Breakpoints може використовуватися для установки числа проходів (hit count) для точки зупинки. Для цього клацніть правою кнопкою миші на точці зупинки у вікні Breakpoints і виберіть Hit Count .... Ця установка в діалоговому вікні Breakpoint Hit Count дозволяє активізувати точку зупину: завжди, тільки при рівності числа проходів точки вказаною значенням, тільки при значенні числа проходів, більшого вказаного значення, або тільки тоді, коли число проходів кратно вказаною значенням.
Налагодження SQL-процедур в базах даних DB2 for z / OS Version 8
Є кілька важливих відмінностей при налагодженні баз даних DB2 for z / OS V8.
В DB2 for z / OS V8 процес налагодження вимагає використання програми-демона debugger, що працює на клієнтської робочої станції, де виконується Visual Studio 2005. Інформація з налаштування демона debugger приведена в розділі " налаштування відладчика ".
Крім того, в DB2 for z / OS V8 відрізняється режим покрокового виконання. Неможливо виконати вхід (step into) у вкладену збережену процедуру. Можна налагоджувати тільки одну збережену процедуру. Оскільки вкладені збережені процедури не підтримуються, операції step into, step over і step out працюють по-різному. Step into і step out працюють з блоками коду, а не з збереженими процедурами. Тобто step into буде входити в блок коду, наприклад, тіло циклу WHILE. Step over буде пропускати блок коду. Step out виконує вихід з поточного блоку коду.
налаштування відладчика
Нижче розглянуті деякі настройки у вікні Options, які впливають на відладчик SQL-процедур.
Debug Session Timeout (таймаут сеансу налагодження): при зупінці сеансу налагодження и невіконанні течение зазначеним числа секунд будь-якіх операцій, сеанс налагодження завершується и процедура віконується до завершення своєї роботи. Стосується всіх платформ z / OS Version 8 і Version 9. Maximum Variable Display Length (максимальна довжина відображення змінної): значення змінної, які довший даної настройки, усікаються. Стосується всіх платформ version 8 і version 9. Debug Daemon Host (хост демона-відладчика): це ім'я хоста або IP-адреса локальної машини, на якій буде працювати демон debug. Зазвичай цю настройку можна залишити в значенні за замовчуванням - localhost. Якщо на вашій машині є кілька IP-адрес, необхідно встановити це значення в той IP-адресу, доступний сервера бази даних, на якому виконується процедура, що зберігається. Використовується тільки для z / OS Version 8. Debug Daemon Port (порт демона-відладчика): номер порту TCP / IP, який буде використовуватися демоном debug. Зазвичай може використовуватися значення за замовчуванням. При наявності іншої послуги, що застосовує цей же номер порту, змініть його на вільне значення. Використовується тільки для z / OS Version 8. Diagnostic Trace Level (рівень діагностичної трасування): обсяг діагностичної трасування, виконуваної на сервері. Зазвичай ви повинні встановлювати це значення в 0, поки немає вказівок служби підтримки DB2. Session Manager Connection (з'єднання менеджера сеансів): з'єднання, яке буде використовуватися для роботи менеджера сеансів. У більшості випадків це поле потрібно залишати не заповненим, і менеджер сеансів буде працювати з тим же самим з'єднанням, з яким працює налагоджувати збережена процедура. Якщо ви хочете використовувати для менеджера сеансів іншу сполуку, створіть спочатку з'єднання в Server Explorer, а потім встановіть значення тут. Застосуємо до всіх платформ, але тільки version 9. Session Manager Port (порт менеджера сеансів): номер порту, використовуваного для менеджера сеансів. Якщо значення за замовчуванням конфліктує з іншою службою на сервері, на якому працює менеджер сеансів, змініть значення на будь-який неиспользуемое.
Малюнок 17. Редагування налаштувань відладчика
резюме
IBM Database Add-Ins for Visual Studio 2005 надає можливості налагодження збережених SQL-процедур, аналогічні функціональними можливостями налагодження додатків, написаним на мовах Visual Basic, Visual C # і Visual C ++. В даній статті показано, як ці можливості налагодження SQL-процедур полегшують пошук і виправлення помилок в збережених SQL-процедурах.
Ресурси для скачування
Схожі тими
Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів
Jsp?