Voici les étapes de base pour rendre le
débogueur graphique opérationnel
pour une procédure stockée SQL :
- 1. Créez la procédure SQL avec la vue
de débogage *SOURCE dans une
session d'émulation. Dans ce cas, le
code source pour la procédure SQL
en figure 3 a été copié
dans un
membre de fichier physique source
appelé MYLIB/MYSRC(SPTEST).
Donc, vous exécutez la commande
RUNSQLSTM suivante pour créer la
procédure SQL avec le débogage au
niveau source debuggable :
RUNSQLSTM SRCFILE(MYLIB/MYSRC)
SRCMBR(SPTEST) COMMIT(*NONE)
NAMING(*SQL)
Démarrez le gestionnaire de débogage
(Debug Manager) sur le client
en émettant la commande suivante à
une invite MS-DOS :
java utilities.DebugMgr
Cela lance le gestionnaire de débogage
graphique. Vous devez cliquer
sur le menu déroulant Edit pour enregistrer
votre ID et serveur iSeries
pour une session de débogage graphique.
Une fois l’enregistrement
terminé, votre vue DebugMgr devrait
se présenter comme dans la figure
7.
Revenez à la même session d’émulation
où la procédure SQL a été
créée. Démarrez le mode débogage
pour la procédure SQL nouvellement
créée avec la commande suivante
:
STRDBG PGM(SHIP_IT) UPDPROD(*YES)
Cette commande fera démarrer
l’iSeries Graphical Debugger sur
votre client et va charger la vue de
débogage au niveau source SQL
pour la procédure stockée SHIP_IT
de la figure 3.
Remarque: Une procédure, fonction
ou trigger SQL créé sans un nom de bibliothèque en utilisant iSeries
Navigator ne peut pas être débogué
au niveau source SQL à l’aide du débogueur
graphique parce que la vue
de débogage *SOURCE est stockée
dans QTEMP quand un nom de bibliothèque
n’est pas précisé.
Définissez un point de rupture par
un clic gauche sur la ligne 4 (IF ORDTYPE=’
I’). Un point de rupture activé
est indiqué par la flèche rouge
que l’on voit en figure 4. Une fois le
point de rupture défini, cliquez sur
la flèche verte de relance sur la barre
d’outils.
Revenez à la session d’émulation et
émettez l’instruction SQL CALL suivante
en utilisant soit la commande
RUNSQLSTM, soit Interactive SQL :
CALL SHIP_IT(33, ‘I’, 5.1)
Le client de débogage prendra le
contrôle au point de rupture indiqué
à l’étape précédente. La figure 5
montre comment le débogueur utilise
la surbrillance jaune pour indiquer
où l’exécution a été arrêtée
pour le point de rupture.
Pour visualiser le contenu du paramètre
d’entrée ORDTYPE pour déterminer
quel tronçon de l’instruction
IF sera exécuté, vous devez faire
un clic gauche sur l’onglet Console
dans l’angle inférieur gauche et entrer
l’instruction EVAL suivante dans
la fenêtre Command :
EVAL *SHIP_IT.ORDTYPE
Les contenus de cette variable sont
ensuite affichés dans la fenêtre
Console (figure 6). Vous pouvez afficher
toutes les valeurs des paramètres
de procédure en entrant simplement
EVAL SHIP_IT.
Quand vous utilisez le débogueur
graphique sur les vues de débogage
normales, des valeurs variables s’affichent
automatiquement quand vous
déplacez le curseur sur un nom de
variable dans une ligne de code. Cet
affichage à la volée des variables
n’est pas disponible avec la vue de débogage *SOURCE pour des procédures,
fonctions et triggers SQL.
Pour visualiser le tarif d’expédition
calculé avant que la procédure stockée
ne se termine, faites un clic droit
sur la ligne 11 et sélectionnez la
tâche « Run to Cursor ». Cela permettra
au débogueur d’exécuter
tout le code jusqu’à la ligne 11.
Arrivé là , vous pourrez émettre la
commande suivante dans la fenêtre
Console pour afficher le tarif d’expédition
calculé :
EVAL SP.RATECALC
Pour boucler l’exécution de la procédure
stockée SHIP_IT, cliquez simplement
sur la flèche verte de relance
sur la barre d’outils.
/ol>
Téléchargez cette ressource
Comment lutter contre le Phishing ?
Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Une réalité complexe qui exige des mesures de sécurité avancées et repensées au-delà de l’authentification multifacteur. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.