Depuração de um script no Matlab

Abordaremos a depuração de scripts no Matlab.

O que é depurar um script no Matlab? A depuração é o ato de identificar e corrigir erros em um script. O termo "bug" é utilizado para designar falhas ou erros no código. Esta denominação tem origem nos primórdios da computação, quando insetos (literalmente "bugs") podiam causar problemas ao se alojarem nos componentes dos computadores. Embora isso não seja mais uma realidade atual, o termo "bug" permanece em uso para indicar falhas de programação.

Mas como proceder com a depuração no Matlab? Uma das ferramentas à nossa disposição é a instrução "keyboard".

keyboard

"Keyboard" funciona como um ponto de interrupção, permitindo pausar a execução de um script para inspecionar ou alterar valores de variáveis no ambiente.

Esta instrução é extremamente valiosa para depuração e testes, pois a partir dela, diversas ações podem ser realizadas.

E como se opera o comando "keyboard"?

Quando o Matlab se depara com a instrução "keyboard", a execução do script é interrompida, dando lugar a um prompt de depuração.

Este prompt é representado por:

k>>

Nesse estágio, diversas operações podem ser realizadas, como a inspeção ou modificação de variáveis no ambiente em execução.

Após realizar as intervenções necessárias, a execução do script pode ser retomada através do comando dbcont.

Como alternativa, o comando dbstep permite avançar na execução de forma sequencial, instrução por instrução.

Nota. Caso deseje encerrar o modo de depuração e finalizar a execução do script, o comando "dbquit" é o indicado. Ao optar por este, o script não será retomado do ponto de interrupção.

Ilustremos com um exemplo prático.

Considere o seguinte script:

x=2;
y=3;
disp(x+y)

Ao executá-lo, o resultado apresentado é:

5

Modifiquemos o script, inserindo a instrução "keyboard" antes do comando de exibição:

x=2;
y=3;
keyboard
disp(x+y)

Com esta alteração, ao executar o script, a execução pausa ao encontrar "keyboard", e o prompt de depuração é ativado.

k>>

Nota. Se estiver utilizando a interface gráfica do Matlab, os comandos de depuração estarão disponíveis no topo da janela, facilitando a continuação da execução ou o avanço instrução por instrução. Depuração na interface gráfica do Matlab
debug in Matlab graphical interface

No prompt de depuração, é possível, por exemplo, alterar o valor atribuído à variável "x".

Digite x=4 e confirme com Enter.

k>> x=4

Em seguida, ao executar o comando dbcont

k>> dbcont

O script prossegue a partir do ponto onde foi interrompido, mas agora com "x" valendo 4.

Assim, a soma de x=4 com y=3 resulta em x+y=7.

7

Este recurso permite a intervenção em variáveis e parâmetros durante a execução do programa.

Tal técnica é fundamental para identificar erros, testar soluções alternativas ou otimizar seu script sem a necessidade de constantes alterações no código.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Scripts Matlab