abap:debug
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| abap:debug [2013/05/13 16:14] – 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 50: | Line 64: | ||
| * 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 ===== | ===== Resources ===== | ||
| * [[https:// | * [[https:// | ||
| + | * [[http:// | ||
abap/debug.1368454453.txt.gz · Last modified: 2013/05/13 16:14 by ginko
