<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>debug on Abapinho</title><link>https://abapinho.com/en/tags/debug/</link><description>Recent content in debug on Abapinho</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&amp;copy;2009-2026 Nuno Godinho</copyright><lastBuildDate>Mon, 11 Apr 2022 09:00:00 +0100</lastBuildDate><atom:link href="https://abapinho.com/en/tags/debug/index.xml" rel="self" type="application/rss+xml"/><item><title>Trotting debugger</title><link>https://abapinho.com/en/2022/04/debug-step/</link><pubDate>Mon, 11 Apr 2022 09:00:00 +0100</pubDate><guid>https://abapinho.com/en/2022/04/debug-step/</guid><description>&lt;p>There are many excuses not to use the new functional syntax of ABAP 7.4. One is complaining that it&amp;rsquo;s impossible to debug.&lt;/p>
&lt;p>But it is not.&lt;/p></description></item><item><title>Show internal table content on an ALV</title><link>https://abapinho.com/en/2019/09/alv-tabela-interna/</link><pubDate>Mon, 30 Sep 2019 09:00:54 +0000</pubDate><guid>https://abapinho.com/en/2019/09/alv-tabela-interna/</guid><description>&lt;p>I don&amp;rsquo;t know for how long has this been available but I just now found out about it. In the debugger it is, after all, super easy to see the content of an internal table in an ALV.&lt;/p></description></item><item><title>SAAB activation variants</title><link>https://abapinho.com/en/2019/07/saab-variantes/</link><pubDate>Thu, 25 Jul 2019 09:00:00 +0000</pubDate><guid>https://abapinho.com/en/2019/07/saab-variantes/</guid><description>&lt;p>Some time ago we spoke about SAAB and its advantages as a tool to analyse, debug and find problems in our code. In that article we didn&amp;rsquo;t explore an important aspect of it: Activation variants.&lt;/p></description></item><item><title>Debug on a user without debug permissions</title><link>https://abapinho.com/en/2018/03/debug-sem-permissoes/</link><pubDate>Mon, 05 Mar 2018 09:00:48 +0000</pubDate><guid>https://abapinho.com/en/2018/03/debug-sem-permissoes/</guid><description>&lt;p>In a well protected system, normal users don&amp;rsquo;t have debug permissions. Very often, this makes it harder for ABAP programmers to help solve the users&amp;rsquo; problems, not being able to debug directly in their session.&lt;/p>
&lt;p>But there is a legit, albeit obscure, work-around for this problem.&lt;/p></description></item><item><title>Undo in debugger layout</title><link>https://abapinho.com/en/2016/05/debugger-layout-undo/</link><pubDate>Mon, 02 May 2016 09:00:56 +0000</pubDate><guid>https://abapinho.com/en/2016/05/debugger-layout-undo/</guid><description>&lt;p>Although a substantial part of an ABAP programmer time is spent debugging code, most programmers I know don&amp;rsquo;t invest much in getting to know the ABAP debugger. Maybe because they spent too many years working with its previous version which was truly archaic and worthless. But the new one can do much more than you usually ask of it. And Abapinho intends to teach you how.&lt;/p>
&lt;p>Today I&amp;rsquo;ll teach you just a simple key.&lt;/p></description></item><item><title>Debugging with baby steps</title><link>https://abapinho.com/en/2016/04/debugging-with-baby-steps/</link><pubDate>Mon, 25 Apr 2016 09:00:50 +0000</pubDate><guid>https://abapinho.com/en/2016/04/debugging-with-baby-steps/</guid><description>&lt;p>When you debug you use F5 key to move to the next statement (or go inside a sub-routine). But imagine an IF with multiple conditions:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:2;-o-tab-size:2;tab-size:2;">&lt;code class="language-ABAP" data-lang="ABAP">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#00f">IF&lt;/span> &lt;span style="color:#000">A&lt;/span> = &lt;span style="color:#3af">1&lt;/span> &lt;span style="color:#00f">AND&lt;/span> &lt;span style="color:#000">B&lt;/span> = &lt;span style="color:#3af">2&lt;/span> &lt;span style="color:#00f">AND&lt;/span> &lt;span style="color:#000">C&lt;/span> = &lt;span style="color:#3af">3&lt;/span>.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#00f">WRITE&lt;/span> &lt;span style="color:#5a2">&amp;#39;I like the word glauc&amp;#39;&lt;/span>.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#00f">ENDIF&lt;/span>.&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;p>When you debug through that IF using F5 and one of the expressions is false you&amp;rsquo;ll step out of the IF without knowing which of the three was false.&lt;/p>
&lt;p>But the new debugger has a new very neat functionality which can help you to better understand what happened there.&lt;/p></description></item><item><title>Can you really do it right the first time?</title><link>https://abapinho.com/en/2016/03/saabs-assertar-primeira/</link><pubDate>Mon, 07 Mar 2016 09:00:13 +0000</pubDate><guid>https://abapinho.com/en/2016/03/saabs-assertar-primeira/</guid><description>&lt;p>Checkpoints is a very powerful ABAP framework which almost nobody uses. Why? Probably for the same reason hardly anyone listens to &lt;a href="https://pt.wikipedia.org/wiki/Sun_Ra">Sun Ra&lt;/a> and knows that &lt;a href="https://pt.wikipedia.org/wiki/Frank_Zappa">Frank Zappa&lt;/a> has 102 albums. Because, even though really good, it’s obscure and not commercial. Checkpoints are, indeed, really good and not commercial. But they should be more like Mozart and the Beach Boys which are both good and commercial.&lt;/p></description></item><item><title>STA Ticket System improve SAP incident handling times</title><link>https://abapinho.com/en/2016/02/sta-ticket-system/</link><pubDate>Mon, 29 Feb 2016 09:00:53 +0000</pubDate><guid>https://abapinho.com/en/2016/02/sta-ticket-system/</guid><description>&lt;p>Today we have a guest, Tamás Holics. He owns STA Consulting, a Hungarian company which has created 2 very interesting SAP products. In this article Tamás presents the STA Ticket System.&lt;/p>
&lt;h2 id="the-problem">The problem&lt;/h2>
&lt;p>A lot of time is wasted in SAP software testing and maintenance processes due to incomplete or incorrect error reports from users and testers. Support people (analysts, developers) usually have to ask for more information about the error. This takes a lot of valuable working time from both the reporters of the error and support people. Solving the problem is often blocked until every information is available.&lt;/p></description></item><item><title>Breakpoint in message from inside the debugger</title><link>https://abapinho.com/en/2015/08/breakpoint-em-mensagem-a-partir-do-depurador/</link><pubDate>Mon, 10 Aug 2015 09:00:09 +0000</pubDate><guid>https://abapinho.com/en/2015/08/breakpoint-em-mensagem-a-partir-do-depurador/</guid><description>&lt;p>You&amp;rsquo;re in the middle of a debug and want it to stop at a specific message.&lt;/p>
&lt;p>What to do?&lt;/p></description></item><item><title>[:pt]Debug de um job[:]</title><link>https://abapinho.com/en/2015/06/debug-de-um-job/</link><pubDate>Mon, 15 Jun 2015 09:00:40 +0000</pubDate><guid>https://abapinho.com/en/2015/06/debug-de-um-job/</guid><description>&lt;p>[:pt]Para fazeres &lt;em>debug&lt;/em> a um programa que faça parte de um &lt;em>job&lt;/em> faz o seguinte:&lt;/p></description></item><item><title>Debugging an infinite loop already in execution</title><link>https://abapinho.com/en/2015/03/fazer-debug-a-um-ciclo-infinito-ja-em-execucao/</link><pubDate>Mon, 02 Mar 2015 09:00:22 +0000</pubDate><guid>https://abapinho.com/en/2015/03/fazer-debug-a-um-ciclo-infinito-ja-em-execucao/</guid><description>&lt;p>Imagine you have a program executing an infinite cycle or, at least, a cycle with 70x7 iterations. It is neverending, and you want to know what’s going on there.&lt;/p>
&lt;p>In the past you had to go to SM50, select the process and choose from the menu &amp;ldquo;Administration | Program | Debug&amp;rdquo;.&lt;/p>
&lt;p>But now there is a much easier way.&lt;/p></description></item><item><title>Request Based Debugging</title><link>https://abapinho.com/en/2014/05/request-based-debugging/</link><pubDate>Mon, 12 May 2014 09:00:10 +0000</pubDate><guid>https://abapinho.com/en/2014/05/request-based-debugging/</guid><description>&lt;p>If you look up the UNAME system variable in &lt;em>debug&lt;/em> within a RFC call you may think it kind of odd to find a username that is not your own. What happens is that the system adopts a specific username for remote calls and a new session is started. A new session implies a new execution context and, hence, all our strategically placed &lt;em>breakpoints&lt;/em> will no longer be recognised.&lt;/p>
&lt;p>This problem can hinder a simple &lt;em>debug&lt;/em> forcing us to run through the code looking for THAT remote call to THAT particular system.&lt;/p>
&lt;p>SAP has a solution.&lt;/p></description></item><item><title>How to debug a job</title><link>https://abapinho.com/en/2014/04/faz-debug-a-um-job/</link><pubDate>Mon, 21 Apr 2014 09:00:23 +0000</pubDate><guid>https://abapinho.com/en/2014/04/faz-debug-a-um-job/</guid><description>Here&amp;rsquo;s a simple way to start debugging a job:
Go to transaction SM37;
Click on the job you want to debug;
type JDBG in the command line (without /) and press ENTER;
and&amp;hellip; bang! you&amp;rsquo;re now debugging the job.
Thank you Ricardo Monteiro for the tip. And thank you Ingolf for the photo.
Greetings from Abapinho</description></item><item><title>Shortcut for time travelling</title><link>https://abapinho.com/en/2014/04/atalho-para-viajar-no-tempo/</link><pubDate>Mon, 07 Apr 2014 09:00:35 +0000</pubDate><guid>https://abapinho.com/en/2014/04/atalho-para-viajar-no-tempo/</guid><description>Some months ago I showed how to transform the debugger into a time machine.
Today&amp;rsquo;s tip is simple but useful: there is a keyboard shortcut which makes it even simple to travel in time:
shift + F12
Just place the cursor in the line you want to travel to and then&amp;hellip; shift+F12.
Thank you Maxsuel Maia for the tip.
Greetings from Abapinho.</description></item><item><title>Close the frozen window</title><link>https://abapinho.com/en/2014/03/fecha-a-janela-encalhada/</link><pubDate>Mon, 03 Mar 2014 17:30:56 +0000</pubDate><guid>https://abapinho.com/en/2014/03/fecha-a-janela-encalhada/</guid><description>&lt;p>How many times have you been left with a “hanging” window when you end a debug?&lt;/p></description></item><item><title>Hold on… but not yet</title><link>https://abapinho.com/en/2014/02/para-la-mas-nao-ja/</link><pubDate>Mon, 03 Feb 2014 09:00:56 +0000</pubDate><guid>https://abapinho.com/en/2014/02/para-la-mas-nao-ja/</guid><description>&lt;p>You are doing a LOOP AT in a 1000-line table, and you know that you want line 853. Until recently, you had two options: either hit F8 852 times, running the risk of hitting it 853 times and having to start all over again, or create a &lt;em>watchpoint&lt;/em> with the condition SY-TABIX = 852 or something close, and pray that it worked.&lt;/p>
&lt;p>Now you have a third option.&lt;/p></description></item><item><title>/HS Command</title><link>https://abapinho.com/en/2013/07/comando-hs/</link><pubDate>Mon, 22 Jul 2013 09:00:36 +0000</pubDate><guid>https://abapinho.com/en/2013/07/comando-hs/</guid><description>&lt;p>Most functionals, and even the hardcore functionals, knows that in order to start debugging an ABAP program, we use the /H command. But few programmers, even the hardcode programmers, will know the purpose of the /HS command.&lt;/p></description></item><item><title>Jump The Wall</title><link>https://abapinho.com/en/2012/08/salta-a-parede/</link><pubDate>Mon, 06 Aug 2012 09:00:31 +0000</pubDate><guid>https://abapinho.com/en/2012/08/salta-a-parede/</guid><description>&lt;p>Turn down the music.
Close the door.
Look around.
Is anyone looking at you?
Are you being watched?
Are there any security cameras?
If not, we can go on.&lt;/p></description></item><item><title>Oh time turn back</title><link>https://abapinho.com/en/2012/04/o-tempo-volta-para-tras/</link><pubDate>Mon, 02 Apr 2012 10:00:08 +0000</pubDate><guid>https://abapinho.com/en/2012/04/o-tempo-volta-para-tras/</guid><description>&lt;p>“Oh time turn back
Give me everything I have lost
Take pity and give me the life
The life I have already lived
Oh time turn backward
Kill off my futile hopes
Look how even the sun itself
Returns every morning” – António Mourão&lt;/p>
&lt;p>Hey &lt;a href="https://www.youtube.com/watch?v=LOtAfLvhSZo">Tony&lt;/a>, right away. I will show you how you can turn back time.&lt;/p></description></item><item><title>Create test variants within functions from the debugger</title><link>https://abapinho.com/en/2012/02/variantes-de-teste-em-debug/</link><pubDate>Mon, 20 Feb 2012 10:00:42 +0000</pubDate><guid>https://abapinho.com/en/2012/02/variantes-de-teste-em-debug/</guid><description>&lt;p>Imagine that you are debugging a transaction, you enter into a function and find something interesting. So interesting that you have to debug it several times. The conventional way is to start the debug of the transaction again from the beginning. How tedious.&lt;/p>
&lt;p>But there is a more direct route. When you are debugging a function you can create test data for this function directly from the debugger, using the values with which the function had been called at that time. For instance:&lt;/p></description></item><item><title>Debugging while in modal dialogue boxes</title><link>https://abapinho.com/en/2012/01/debug-em-popups/</link><pubDate>Mon, 09 Jan 2012 10:00:29 +0000</pubDate><guid>https://abapinho.com/en/2012/01/debug-em-popups/</guid><description>&lt;p>There are times when you can’t do /H to launch &lt;em>debugger&lt;/em>. The most common one is when a pop-up window is open. However there is a simple, if Heath-Robinson, way to do it:&lt;/p></description></item><item><title>Partial Analyses in SE30</title><link>https://abapinho.com/en/2011/11/se30-parciais/</link><pubDate>Mon, 28 Nov 2011 11:37:25 +0000</pubDate><guid>https://abapinho.com/en/2011/11/se30-parciais/</guid><description>Obviously you already know the SE30 transaction (run time analysis) and obviously you use it often to analyse standard programs and to discover tables, functions, BADIs and similar contained within them.
But if you are like me, then you have a love-hate relationship with this transaction – on the one hand you love it because it enables you to see the guts of a program without having to debug it, yet on the other hand you hate it because normally the list of guts tends to have thousands of lines and becomes unmanageable.</description></item><item><title>SAT – The new execution analysis tool</title><link>https://abapinho.com/en/2011/02/sat/</link><pubDate>Wed, 16 Feb 2011 14:31:40 +0000</pubDate><guid>https://abapinho.com/en/2011/02/sat/</guid><description>Since I was small I have been using the SE30 transaction for two different things:
To analyze a (normally standard) program I don’t know in order to find out what functions it uses, what BADIs it offers, etc;
To analyze a program of mine to search for performance problems.
The simple truth is that the SE30 transaction is a total mess. It’s extremely limited and inflexible and it’s useless for any more complex analysis.</description></item><item><title>&lt;!--:pt-->Depuração telepática&lt;!--:--></title><link>https://abapinho.com/en/2010/11/depuracaotelepatica/</link><pubDate>Fri, 26 Nov 2010 10:55:58 +0000</pubDate><guid>https://abapinho.com/en/2010/11/depuracaotelepatica/</guid><description>Imagine o seguinte cenário: um utilizador (ou utilizadora) está sentado no escritório dele, a correr uma transacção ou não sei o quê. Tem um problema e chama um programador (ou programadora) para o (ou a) ajudar a entender o que se passa. Normalmente o programador (ou programadora) teria de se deslocar lá, à sala do senhor utilizador (ou senhora utilizadora) e das duas uma: fazer debug no computador dele (ou dela) ou aprender como recriar o problema e depois fazer debug no seu computador.</description></item><item><title>&lt;!--:pt-->Procurar uma BADI no palheiro&lt;!--:--></title><link>https://abapinho.com/en/2010/06/procurar-uma-badi-no-palheiro/</link><pubDate>Mon, 14 Jun 2010 10:46:04 +0000</pubDate><guid>https://abapinho.com/en/2010/06/procurar-uma-badi-no-palheiro/</guid><description>&lt;p>O SAP é um enorme palheiro. E os ABAPers são pessoas que trepam por esse palheiro acima e nele vasculham e escarafuncham em busca de agulhas de todo o género. Às vezes, desesperados, deitam-se a descansar e vêm uma quantidade enorme de bicharocos que vivem no palheiro fazer-lhes comichão. Para evitar que isso aconteça, o Artur Moreira propõe-nos uma série de diferentes técnicas para procurar BADIs neste grande palheiro que é o SAP.&lt;/p></description></item></channel></rss>