abap:debug
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
abap:debug [2013/05/13 15:55] – created ginko | abap:debug [2018/03/30 12:06] (current) – ginko | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== ABAP Debugging Tips ====== | ====== ABAP Debugging Tips ====== | ||
+ | La [[http:// | ||
+ | |||
===== Breakpoints ===== | ===== Breakpoints ===== | ||
(// | (// | ||
Line 14: | Line 16: | ||
=== Effets === | === Effets === | ||
Les breakpoints dynamiques interrompent en général l' | Les breakpoints dynamiques interrompent en général l' | ||
+ | |||
+ | ==== Groupes de contrôle ==== | ||
+ | En utilisant l' | ||
+ | |||
+ | ==== Logging ==== | ||
+ | Il est possible de logger dans un but de debug grâce aux 3 instructions. | ||
+ | * <code abap> | ||
+ | * '' | ||
+ | ==== Sauter des itérations ==== | ||
+ | Il est possible de sauter n itérations d'un break-point dans le debugger (onglet break-point). Cela peut-être utile sur un break-point localisé dans une loop. | ||
===== Practical debugging ===== | ===== Practical debugging ===== | ||
==== Debugger tips ==== | ==== Debugger tips ==== | ||
- | * Revenir en arrière (new debugger only) : placer le curseur sur la ligne souhaitée et tapper [Shift + F11]. | + | * Revenir en arrière (new debugger only) : placer le curseur sur la ligne souhaitée et tapper [Shift + F12]. |
* Placer des breakpoints sur des types d' | * Placer des breakpoints sur des types d' | ||
* Placer un breakpoint en graphique : double-clic sur la ligne (mais //en dehors// des instructions). | * Placer un breakpoint en graphique : double-clic sur la ligne (mais //en dehors// des instructions). | ||
Line 36: | Line 48: | ||
=== Drag' | === Drag' | ||
En drag' | En drag' | ||
- | <code ini> | + | <file ini debug.ini> |
Command=/H | Command=/H | ||
Title=Debugger | Title=Debugger | ||
- | Type=SystemCommand</ | + | Type=SystemCommand</ |
=== Debug de background process (job) === | === Debug de background process (job) === | ||
- | Le debugger n' | + | Le debugger n' |
+ | === Debug de background process (SE38) === | ||
+ | Pour débugger un programme lancé en background depuis la '' | ||
=== Debug de fonctions RFC === | === Debug de fonctions RFC === | ||
Une astuce pour debugger un appel de fonction RFC : | Une astuce pour debugger un appel de fonction RFC : | ||
Line 49: | Line 63: | ||
* Cela permet de récupérer le process dialog correspondant en '' | * Cela permet de récupérer le process dialog correspondant en '' | ||
* Il ne reste plus qu'à sortir de la boucle pour continuer le debug (passer '' | * Il ne reste plus qu'à sortir de la boucle pour continuer le debug (passer '' | ||
+ | |||
+ | === Debug de background (via enhancement) === | ||
+ | * Implémenter et activer un enhancement infini (exemple ci-dessous) à l' | ||
+ | while x is initial. | ||
+ | endwhile.</ | ||
+ | * Récupérer l' | ||
+ | === Debug d' | ||
+ | == Génération d' | ||
+ | [[http:// | ||
+ | - Créer (par répétition ou sur un nouveau cas de test) un nouvel output message mais en modifiant les //condition records// afin de ne pas l' | ||
+ | - Récupérer le ou les FM suceptibles de générer l'idoc désiré (un F4 en SE37 sur '' | ||
+ | - Poser des points d' | ||
+ | - Lancer le programme '' | ||
+ | ===== Détecter le mode débug en ABAP ===== | ||
+ | <code abap> | ||
+ | IF abdbg-srepid IS NOT INITIAL. | ||
+ | " Gotcha! | ||
+ | ENDIF.</ | ||
+ | ===== Resources ===== | ||
+ | * [[https:// | ||
+ | * [[http:// |
abap/debug.1368453342.txt.gz · Last modified: 2013/05/13 15:55 by ginko