Establecer puntos de interrupción para la depuración de códigoMATLAB

MATLAB es uno de los lenguajes de codificación más poderosos. MATLAB, ahora hablemos de una opción importante en el entorno MATLAB , Breakpoints .

Los puntos de interrupción se utilizan en el proceso de depuración para evaluar el código y determinar si una línea específica es el origen de un error o no.

En primer lugar, MATLAB tiene tres tipos de puntos de interrupción:

  • Puntos de interrupción estándar
  • Puntos de interrupción condicionales
  • Puntos de interrupción de errores

Veámoslos usando un ejemplo de un código que genera dos arrays, luego agregue cada dos elementos correspondientes y guárdelos en una nueva array:

Ejemplo:

Matlab

% MATLAB code for without breakpoints
% define x and y
x = (0:10);
y = (10:20);
  
for n = 1:10
    z(n) = x(n) + y (n);
end

Producción:

Puntos de interrupción estándar

Son el tipo común de puntos de interrupción que simplemente se detienen en la ejecución de líneas específicas, para configurarlos: en primer lugar, debe guardar su archivo, también debe verificar si hay errores de sintaxis, ya que evitan que se guarden los puntos de interrupción. Aquí hay algunas formas de insertar puntos de interrupción estándar:

Método 1: 

Paso 1: haga clic en el guión en el área gris al lado del código ejecutable, debería aparecer un punto rojo, digamos que hicimos clic en el guión al lado de la línea 4:

Producción:

Paso 2: Coloque el cursor en la línea deseada y luego presione F12.

Método 2: 

Mediante programación, escriba en la ventana de comandos:

Sintaxis:

dbstop en nombre de archivo en número de línea

Ejemplo:

Matlab

dbstop in example at line 7

Producción:

Aquí, no puede agregar un punto de interrupción al comienzo o al final de un ciclo, sino que puede colocarlos dentro del ciclo para hacer una pausa en cada iteración del ciclo.

Puntos de interrupción condicionales

Son puntos de interrupción que se detienen en una línea solo si se cumple una condición específica. Mediante programación, escriba en la ventana de comandos:

Sintaxis:

dbstop en nombre de archivo en condición de número de línea

 Supongamos que, si desea la ejecución del código de bucle for después de iteraciones específicas, aquí hay algunas formas de hacerlo:

Paso 1: haga clic derecho en el área gris al lado de la línea deseada y seleccione » establecer punto de interrupción condicional «.

Paso 2: Ingrese la condición específica (por ejemplo: n>2).

Paso 3: Luego haga clic en Aceptar . Debería aparecer un punto amarillo en lugar de la línea discontinua.

Ejemplo: 

Matlab

dbstop in example at 7 if n>2

 Producción:

Puntos de interrupción de errores

A diferencia de otros puntos de interrupción, no establece puntos de interrupción de error en líneas específicas. Los puntos de interrupción de error son simplemente condiciones en las que el programa se detiene en la línea donde se produce el error, para establecerlos:

Paso 1: Haga clic en la flecha hacia abajo en el botón EJECUTAR y luego puede elegir:

  • Pausa en errores : para hacer una pausa en todos los errores.
  • Pausa en advertencias : para hacer una pausa en todas las advertencias.
  • Pausa en NaN o Inf : para hacer una pausa en NaN (no es un número) o valores infinitos.

Mediante programación, en la ventana de comandos, inserte puntos de interrupción de error para hacer una pausa en todos los errores.

Ejemplo:

Matlab

% MATLAB code for dbstop
% error breakpoint 
% define x and y
x = (0:10);
y = (10:20);
dbstop if error 
for n = 1:10
    z(n) = x(n) + y (n);
end

 

Notas:

  • Un punto de interrupción gris indica un punto de interrupción no válido.
  • Para deshabilitar/borrar un punto de interrupción: haga clic derecho sobre él y elija deshabilitar/borrar punto de interrupción.
  • Para borrar todos los puntos de interrupción: haga clic con el botón derecho en el área gris y seleccione borrar todos los puntos de interrupción en el archivo. 

Publicación traducida automáticamente

Artículo escrito por learnprograming193 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *