Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

em 5 passos
INTRODUÇÃO
O que é o debug
O Debug é uma ferramenta de análise de código fonte ABAP 
disponibilizada pela SAP para facilitar a vida de analistas e 
desenvolvedores na compreensão das rotinas do sistema.
Com a ferramenta de Debug da SAP, é possível identificar o fluxo de 
processamento dos programas e qual o exato comportamento que ele 
está exercendo no momento da execução em que o problema aconteceu, 
ou da situação analisada.
Quando se utiliza o Debbug no ABAP
O Debug é muito utilizado quando há um problema na execução do 
código que não está claro para os analistas ou desenvolvedores. Com a 
ferramenta de Debug, as rotinas desenvolvidas são compreendidas mais 
facilmente e os problemas são encontrados de forma muito mais rápida 
do que uma busca manual.
O Debug tem grande utilidade nas equipes de trabalho pois caso um 
problema passe despercebido por um desenvolvedor, o próprio analista 
pode identificar e corrigir a falha ao rodar a ferramenta. 
Como ele pode te ajudar?
O debug ajuda a compreender nos mínimos detalhes o código de um 
programa ABAP. Com ele é possível saber por exemplo, qual a lógica 
empregada e quais as regras de negócio estão implementadas nas 
rotinas.
Além disso, é possível descobrir os valores de tabelas, variáveis e campos 
de tela para entender como está sendo executada a manipulação dos 
dados internos dos programas, passagem de parâmetros, etc. Por conta 
disso, o debug é uma poderosa ferramenta para análise e simulação de 
cenários em tempo de execução dos programas. 
Um alerta aos profissionais que utilizam ou desejam utilizar o Debug é 
sobre os cuidados necessários ao executá-lo no ambiente de produção. 
Na verdade, é aconselhável que nunca se faça debug em produção, 
porque podem ser efetuadas determinadas consistências ou a 
manipulação de alguma informação que poderá impactar nas áreas de 
negócio. Em ambientes de desenvolvimento e qualidade não há essa 
dificuldade e preocupação.
QUER SE TORNAR UM MESTRE EM DEBUG?
Leia este material e se torne um em apenas 5 passos!
1. O que é um break-point e um watch-point
1.1 O break-point
Um break-point é a marcação de um ponto de parada em uma linha de 
código do programa ABAP. Essa marcação pode acontecer implícita ou 
explicitamente no programa. Se você sabe mais ou menos o ponto do 
programa que você deseja debugar essa funcionalidade é muito útil, agilizará 
o processo e te ajudará no restante da sua análise.
Um break-point implícito é uma funcionalidade que você poderá acessar 
pelas transações de desenvolvimento (SE37, SE38, SE24 e etc) e poderá 
adicionar pontos de parada internos ou externos.
Um break-point implícito interno você poderá adicionar em qualquer 
programa e função que seja chamado e executado dentro da sua seção SAP. Já 
um break-point implícito externo você poderá adicionar um usuário e quando 
determinada linha de código for executada por aquele usuário ele abrirá o 
debug para você. Isso é muito útil para trabalhar com cenários de teste que 
um usuário chave está executando ou com alguma integração ou job esteja 
sendo executada em background sem controle manual de pessoas. Para ativar 
o usuário desejado você deverá acessar os seguintes passos, na transação de 
desenvolvimento:
Para ativar um processo de debugger explícito você precisa clicar 
na linha desejada do código e posteriormente a isso clicar nos botões 
conforme mencionado anteriormente e conforme a sua necessidade 
(interno ou externo). O seu resultado será da seguinte forma:
Dessa forma você acaba de adicionar um break-point implícito interno. 
Quando você executar esse programa ou essa transação seu debug será 
acionado.
Um debug explícito é um pedaço de código inserido dentro do programa 
ABAP que determinará um ponto de debug fixo dentro do seu programa. Esse 
ponto de parada poderá ser genérico ou controlado por usuário. Deve-se 
evitar esse tipo de ponto de parada, porque se você acabar esquecendo o 
código dentro do seu programa poderá afetar o funcionamento dos 
desenvolvimentos no ambiente de produção. 
O uso do código do break-point você criará um ponto de parada genérico, 
qualquer usuário que executar o programa ou transação quando chegar na 
linha onde estiver o código será aberto o debug, independentemente das 
condições do programa.
Outra maneira de criar um debug explícito é atribuir uma condição de 
break-point para um usuário específico. Se apenas você deseja executar 
essa avaliação esse método é mais interessante que o anterior. Isso se da 
pelo fato de o debugger ser ativado apenas para o usuário determinado 
no código, sem interferência para os demais usuários do sistema.
3.2 O watch-point
O Watch-point como a tradução literal sugere é um ponto de visualização. 
Você pode programar o debug para monitorar uma variável específica sem 
saber o ponto exato do erro. Imagine que você tenha um erro em um 
programa, que na sua tela aparece um valor errado por exemplo de um 
imposto. Você não sabe onde esse imposto é calculado e alterado mas você 
conhece o campo da tela, que por de traz dos panos é uma variável no 
programa ABAP. Poderá então, configurar o debug para que quando essa 
variável for alterada, ou quando atingir um valor específico o debug seja 
acionado, agilizando seu processo de avaliação.
Essa estratégia é muito utilizada para se trabalhar com um grande número 
de registros, onde na estrutura de repetição inviabiliza a análise de todos os 
registros. Para acioná-lo você deverá entrar no debug e acessar a seguinte 
aba.
Quando você estiver nessa tela você poderá criar um novo watch-point 
para uma variável. Neste caso vamos criar um teste para a tabela PT_OBJECTS, 
quando essa tabela for alterada em algum momento do programa queremos 
que o debug seja acionado.
Você deverá clicar no botão criar e posteriormente abrirá uma tela que 
você poderá colocar a variável que deseja controlar. Adicione o nome do 
objeto e clique em confirmar, posteriormente a isso você poderá clicar na 
ABAP Desktop 1 e apertar o botão F8. Quando a variável for alterada o 
debugger abrirá exatamente no ponto do programa que aconteceu a ação.
Para controlar o valor da variável, você deverá seguir os mesmos passos 
anteriores com apenas uma diferença, conforme na imagem abaixo.
Você deverá indicar a variável e abaixo deverá colocar o valor da 
variável que você deseja controlar. Neste caso queremos que o debug 
seja acionado quando a variável V_SEPARATOR seja igual a X. Basta 
clicarmos em confirmar, depois irmos a aba Desktop 1 e apertar o F8 que 
o Debug irá parar no momento que essa variável contiver o valor de X.
Outra possibilidade de watch-point é controlar algum tipo de código 
ABAP. Por exemplo você tem um programa que tem uma verificação de 
autorização de acesso e você não sabe onde essa avaliação está. Você 
pode criar um watch-point para o código AUTHORIT-CHECK e durante a 
execução do programa encontrar esse código será iniciado o debugger. 
Essa ação também é valida para pesquisar funções, exits, mensagens e 
etc.
Para acioná-la você terá que clicar no botão F9 durante o debug, 
então abrirá uma tela onde você poderá adicionar as informações 
conforme a imagem abaixo.
Neste caso adicionamos um watch-point para o comando message, 
quando acontecer um comando message o debugger será acionado. Isso 
você poderá colocar em métodos, funções, forms, exceções e todos os 
casos que você achar necessário para resolver o seu problema.
Chegou a hora de desbravarmos o debug e as formas de acioná-
los e como avaliar as informações contidas nele. Para acionar o 
debugger você poderá criar break-points implícitos ou explícitos, ou 
então, watch-points. Outra maneira para acionar o debugger é no 
momento desejado da execução do programa você utilizar o 
comando /h, ele forçará o inicio do debugger na próxima ação que 
você executar.
Esse talvez seja a forma mais convencional de executaro modo de 
debugger, quando você apertar o enter colocando o código /h você 
receberá uma mensagem de confirmação que o debugger está ligado. 
Caso não seja uma mensagem positiva, talvez você não possua o perfil de 
acesso ao debugger, neste caso você deverá procurar a equipe de basis
ou então o superior da área responsável por liberar os acessos.
Posteriormente a mensagem qualquer ação que você executar 
abrirá uma tela de debuger conforme a imagem abaixo. 
Agora vamos entender o que temos de informação nessa tela e que 
poderão nos auxiliar na avaliação do seu problema. E principalmente as 
principais funções encontradas na tela e que farão a diferença.
4.1 Barra de interação
Na barra de interação teremos as funcionalidades que ajudaram a 
executar o debuger, principalmente os quatro primeiro botões que farão 
você seguir na avaliação do código. Esses botões poderão ser alterados por 
teclas de função (Usadas com maior frequência). Por exemplo a tecla F5 é 
uma etapa individual, correspondente ao primeiro botão, nesta função você 
percorrerá linha a linha, entrará em todos os performs, funções e métodos 
sem distinção.
A função F6 ou o segundo botão, é um debugger individual por linha, no 
entanto quando encontrar um perform, função ou método ele não entrará, 
executará o código lá dentro e você verá apenas o resultado final e poderá 
seguir linha a linha com seu debugger.
A função F7 ou o terceiro botão, é uma função de retorno. Imagine que 
você entrou em uma função em determinado momento do seu código, se 
você clicar no botão F7 ele voltará para o código anterior que fez a chamada 
da função. Todo o código dentro da função será executado e você verá o 
resultado final apenas. Isso servirá para performs e classes também.
A função F8 ou o quarto botão, é uma função de finalização do debugger. 
Quando você apertar o F8 seu debugger será finalizado e todo o código será 
executado e você verá o resultado final da sua transação ou programa. 
Outra função importante que auxilia muito no momento do debug é ir 
para instrução desejada. Imagine que durante o debug você passou por um 
código e não entendeu o que aconteceu naquela linha de código. Você pode 
voltar para a linha desejada e reexecutar a linha sem ter que finalizar o debug 
e reinicializar. Ou então, se você precisa forçar a entrada dentro de um if, você 
consegue forçar o ponteiro do debug para aquela linha. 
Para que isso aconteça você precisa clicar na linha desejada, clicar com o 
botão direito e escolher a opção ir para instrução.
Neste momento o ponteiro será direcionado para a linha que você desejar. 
Outra forma de atalho que fará a mesma função é você selecionar a linha 
desejada e clicar Shift+F12. Você terá o mesmo resultado com as duas formas.
4.2 Informações de ambiente
Nesse espaço temos alguns campos que nos dão informações super
importantes. Nos primeiros quatro campos temos as informações do 
programa principal, subprograma ou tela, e sua linha. Logo abaixo temos 
a informação do Form que está sendo executado naquele momento. Logo 
ao lado você possui duas variáveis de ambiente, sy-tabix e su-subrc. O sy-
tabix será responsável por controlar o volume de registros e iterações 
executadas no debugger, exemplo, quando você executar um select em 
alguma tabela e você tiver 10 registros no retorno, o seu sy-tabix terá o 
valor 10. Caso você esteja dentro de um loop, você poderá ver em qual 
registro que ele está executando naquele momento. Já o sy-subrc é uma 
variável que controla o sucesso ou falha na execução de algum código, 
como por exemplo funções, select, read table, modify, loop e etc. Por 
exemplo, num select caso na tabela não tenha nenhum registro o seu sy-
subrc será igual a 8, caso não encontre o registro desejado será 4 e caso 
encontre o que você pesquisa será 0.
Essas variáveis de ambiente são muito utilizadas durante o 
desenvolvimento ABAP e são muito úteis para o entendimento rápido do 
que está sendo executado na sua lógica.
4.3 Abas de avaliação
Para essas abas, explanaremos as principais e mais importantes num 
primeiro momento. As abas Desktop 1, Desktop 2, Desktop 3 e Standard 
você terá o controle da execução do seu código, poderá avaliar variáveis 
locais e globais, e o fluxo de execução do seu programa.
Já na aba Ptos.par/Watchpts você terá como configurar seus pontos de 
parada ou seu watch-point para auxiliar você no processo de debuger.
4.4 Código fonte ABAP
Nesta área você verá o código ABAP do programa em execução. Nesta 
área você poderá acompanhar a execução do seu código com as teclas de 
função F5, F6, F7 e F8. Você terá ainda algumas opções como o duplo 
clique sobre a variável que desejar. Se você deixar a seta do mouse sobre a 
variável desejada você terá informação sobre ela também, conforme a 
imagem abaixo.
E por fim você te acesso a várias outras funcionalidades clicando com o 
botão direito nessa área. Algumas dessas funcionalidades também são 
importantes e auxiliarão no seu debug.
4.5 Abas de manipulação
Nessas abas é possível escolher a visualização de variáveis. Nas 
abas locais, serão listadas todas as variáveis locais disponíveis na 
seção de debug que você tem aberta.
Na aba globais você terá todas as variáveis globais disponíveis 
para a sua seção.
Nas abas variáveis 1 você poderá escolher as variáveis que 
você deseja avaliar dentro do seu programa de forma livre.
4.6 Avaliação de variáveis
Nesta área é possível avaliar o conteúdo das variáveis. Para escolher a 
variável você pode dar duplo clique na variável na área de código fonte ABAP 
ou simplesmente digitar nessa área o nome da variável desejada.
Para avaliar o valor que elas possuem, você poderá dar duplo clique sobre a 
variável. Nesse momento você será direcionado para uma outra tela que 
conterá maiores informações.
Nessa tela você verá o tipo da sua variável e também o valor dela. Neste 
ponto é possível alterar o valor dela, caso você deseja executar um teste e 
simular uma situação diferente.
Outra forma de alterar o valor da variável poderá ser feito diretamente na 
aba de manipulação das variáveis. Só não será permitido alterar parâmetros 
de importação e exportação ou constantes.
Temos situações de tabelas com header line, que tem um comportamento 
diferente. Você vai avaliar essa situação da seguinte maneira, com este 
símbolo de tabela.
Neste caso se você clicar sobre o nome da variável XTAUUM, você vai ter 
acesso aos valores da work área, conforme visto na imagem abaixo.
Se você der duplo clique sobre o símbolo da tabelinha você verá 
os dados da tabela, da seguinte forma.
5 Para facilitar vamos catalogar os atalhos
 F5 – Executar todas as linhas
 F6 – Executar as linhas sem entrar em perform, função ou 
método
 F7 – Voltar ao nível anterior, pulando código de perform, 
função ou método
 F8 – Finalizar Debug
 F9 – Criar Watch-point para comandos ABAP
 SHIFT+F12 – Ir para a instrução desejada
 BREAK-POINT – Ponto de parada Explícito

Mais conteúdos dessa disciplina