Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Establecer puntos de interrupción

Establecer puntos de interrupción detiene la ejecución del programa para que pueda examinar los valores en los que cree que podría ser un problema.MATLAB® Puede establecer puntos de interrupción mediante el editor o mediante funciones en la ventana de comandos.

Hay tres tipos de puntos de rotura:

  • Los puntos de interrupción estándar

  • Puntos de interrupción condicionales

  • Puntos de interrupción de error

Puede establecer puntos de interrupción solo en las líneas ejecutables de los archivos guardados que se encuentran en la carpeta actual o en las carpetas de la ruta de búsqueda. Puede establecer puntos de interrupción en cualquier momento, ya sea inactivo u ocupado ejecutando un archivo.MATLAB

De forma predeterminada, abre automáticamente los archivos cuando llega a un punto de interrupción.MATLAB Para desactivar esta opción:

  1. En la pestaña, en la sección, haga clic enHomeEnvironment.Preferences

    Se abre el cuadro de diálogo Preferencias.

  2. Seleccione MATLAB > Editor/Debugger.

  3. Desactive la opción y haga clic en.Automatically open file when MATLAB reaches a breakpointOK

Los puntos de interrupción estándar

Un punto de interrupción estándar se detiene en una línea especificada de un archivo.

Para establecer un punto de interrupción estándar, haga clic en el callejón de punto de interrupción en una línea ejecutable donde desea establecer el punto de interrupción. Es la columna estrecha en el lado izquierdo del editor, a la derecha del número de línea.Callejón de punto de interrupción También puede usar la clave para establecer el punto de interrupción.F12

Las líneas ejecutables se indican mediante un-(guión) en el callejón de punto de interrupción. Si una instrucción ejecutable abarca varias líneas, puede establecer un punto de interrupción en cada línea de esa instrucción, aunque las líneas adicionales no tengan un (guión) en el callejón de punto de interrupción. Por ejemplo, en este código, puede establecer un punto de interrupción en las cuatro líneas:

Si intenta establecer un punto de interrupción en una línea que no es ejecutable, como un comentario o una línea en blanco, lo establece en la siguiente línea ejecutable.MATLAB

Para establecer un punto de interrupción estándar mediante programación, utilice la función.dbstop Por ejemplo, para agregar un punto de interrupción en la línea 2 en un archivo con nombre, escriba: agrega un punto de interrupción en la línea 2 de la función.myprogram.m

dbstop in myprogram at 2
MATLABmyprogram

Para examinar los valores en incrementos en un bucle, establezca el punto de interrupción dentro del bucle, en lugar de en el inicio del bucle.for Si establece el punto de interrupción al principio del bucle for y, a continuación, recorre el archivo, se detiene en la instrucción una sola vez.MATLABfor Sin embargo, si coloca el punto de interrupción dentro del bucle, se detiene en cada paso a través del bucle.MATLAB

Puntos de interrupción condicionales

Un punto de interrupción condicional hace que se detenga en una línea especificada de un archivo solo cuando se cumple la condición especificada.MATLAB Utilice puntos de interrupción condicionales cuando desee examinar los resultados después de algunas iteraciones en un bucle.

Para establecer un punto de interrupción condicional, haga clic con el botón derecho en el callejón de punto de interrupción en una línea ejecutable donde desea establecer el punto de interrupción y seleccione Set/Modify Condition.

Cuando se abra el cuadro de diálogo Editor, introduzca una condición y haga clic en.OK Una condición es cualquier expresión válida que devuelva un valor escalar lógico.MATLAB

Como se indica en el cuadro de diálogo, evalúa la condición antes de ejecutar la línea.MATLAB Por ejemplo, supongamos que tiene un archivo llamado.myprogram.m

Agregue un punto de interrupción con la siguiente condición en la línea 6: aparece un icono de punto de interrupción condicional amarillo en el callejón de punto de interrupción en esa línea.

n >= 4

También puede establecer un punto de interrupción condicional mediante programación utilizando la función.dbstop Por ejemplo, para agregar un punto de interrupción condicional en el tipo de la línea 6:myprogram.m

dbstop in myprogram at 6 if n>=4 

Al ejecutar el archivo, entra en modo de depuración y se detiene en la línea cuando se cumple la condición.MATLAB En el ejemplo, se ejecuta el bucle dos veces y se detiene en la tercera iteración en la línea 6 cuando es.myprogramMATLABforn4 Si continúa ejecutándose, vuelve a hacer una pausa en la línea 6 en la cuarta iteración cuando sea.MATLABn5

Puntos de interrupción de error

Un punto de interrupción de error hace pausar la ejecución del programa y entrar en modo de depuración si encuentra un problema.MATLABMATLAB A diferencia de los puntos de interrupción estándar y condicionales, no se establecen estos puntos de interrupción en una línea específica de un archivo específico. Cuando se establece un punto de interrupción de error, se detiene en cualquier línea de cualquier archivo si se produce la condición de error especificada. a continuación, entra en modo de depuración y abre el archivo que contiene el error, con la flecha de ejecución en la línea que contiene el error.MATLABMATLAB

Para establecer un punto de interrupción de error, en la ficha, haga clic enEditorRuny seleccione una de estas opciones:

  • para hacer una pausa en todos los errores.Pause on Errors

  • para hacer una pausa en todas las advertencias.Pause on Warnings

  • para pausar en (no-un-número) o (infinito) valores.Pause on NaN or Inf NanInf

También puede establecer un punto de interrupción mediante programación mediante la función con un especificado.dbstopcondition Por ejemplo, para pausar la ejecución en todos los errores, escriba para pausar la ejecución en el primer error en tiempo de ejecución dentro de la parte de un bloque que tiene un identificador de mensaje de, escriba

dbstop if error
trytry/catchMATLAB:ls:InputsMustBeStrings
dbstop if caught error MATLAB:ls:InputsMustBeStrings

Puntos de interrupción en funciones anónimas

Puede establecer varios puntos de interrupción en una línea de código que contenga funciones anónimas.MATLAB Por ejemplo, puede establecer un punto de interrupción para la propia línea, donde el software se detiene al principio de la línea.MATLAB O bien, puede establecer un punto de interrupción para cada función anónima de la línea.

Cuando se agrega un punto de interrupción a una línea que contiene una función anónima, el editor pregunta en qué parte de la línea desea agregar el punto de interrupción. Si hay más de un punto de interrupción en una línea, el icono de punto de interrupción es azul, independientemente del estado de cualquiera de los puntos de interrupción de esa línea.

Para ver información sobre todos los puntos de rotura de una línea, desplace el puntero sobre el icono de punto de interrupción. Aparece una descripción emergente con la información disponible. Por ejemplo, en este código, la línea 5 contiene dos funciones anónimas, con un punto de interrupción en cada una. La información sobre herramientas nos indica que ambos puntos de interrupción están habilitados.

Cuando se establece un punto de interrupción en una función anónima, se detiene cuando se llama a la función anónima.MATLAB Una flecha verde muestra dónde define el código la función anónima. Una flecha blanca muestra dónde el código llama A las funciones anónimas. Por ejemplo, en este código, se detiene el programa en un punto de interrupción establecido para la función anónima, en la línea 2 de un archivo llamado.MATLABsqrmyanonymous.m La flecha blanca indica que la función se llama desde la línea 3.sqr

Puntos de interrupción no válidos

Un punto de interrupción gris indica un punto de interrupción no válido.

Los puntos de interrupción no son válidos por estas razones:

  • Hay cambios no guardados en el archivo. Para que los puntos de interrupción sean válidos, guarde el archivo. Los puntos de rotura grises se vuelven rojos, lo que indica que ahora son válidos.

  • Hay un error de sintaxis en el archivo. Cuando se establece un punto de interrupción, aparece un mensaje de error que indica dónde está el error de sintaxis. Para que el punto de interrupción sea válido, corrija el error de sintaxis y guarde el archivo.

Deshabilite los puntos de interrupción

Puede deshabilitar los puntos de interrupción seleccionados para que el programa los ignore temporalmente y se ejecute ininterrumpidamente. Por ejemplo, puede deshabilitar un punto de interrupción después de que piense que ha identificado y corregido un problema, o si está utilizando puntos de interrupción condicionales.

Para deshabilitar un punto de interrupción, haga clic con el botón derecho en el icono de punto de interrupción y seleccione en el menú contextual.Disable Breakpoint

Un aparece a través del icono de punto de interrupción para indicar que está deshabilitada.X

Para volver a habilitar un punto de interrupción, haga clic con el botón derecho en el icono de punto de interrupción y seleccione en el menú contextual.Enable Breakpoint

Ya no aparece en el icono de punto de interrupción y la ejecución del programa se detiene en esa línea.X

Para habilitar o deshabilitar todos los puntos de interrupción del archivo, seleccione o.Enable All in FileDisable All in File Estas opciones solo están disponibles si hay al menos un punto de interrupción para habilitar o deshabilitar.

Desactive puntos de interrupción

Todos los puntos de interrupción permanecen en un archivo hasta que los borre (quite) o hasta que se borran automáticamente al final de la sesión.MATLAB

Para borrar un punto de interrupción, haga clic con el botón derecho en el icono de punto de interrupción y seleccione en el menú contextual.Clear Breakpoint También puede usar la clave para borrar el punto de interrupción.F12

Para borrar un punto de interrupción mediante programación, utilice la función.dbclear Por ejemplo, para borrar el punto de interrupción en la línea 6 de un archivo llamado, escribamyprogram.m

 dbclear in myprogram at 6

Para borrar todos los puntos de rotura del archivo, haga clic con el botón derecho en el callejón de punto de interrupción y seleccione.Clear All in File También puede utilizar el comando.dbclearall Por ejemplo, para borrar todos los puntos de rotura de un archivo llamado, escribamyprogram.m

dbclear all in myprogram

Para borrar todos los puntos de rotura en archivos, incluidos los puntos de interrupción, haga clic con el botón derecho en el callejón de punto de interrupción y seleccioneallClear All También puede utilizar el comando.dbclear all

Los puntos de interrupción se despejen automáticamente cuando finaliza una sesión.MATLAB Para guardar los puntos de rotura para sesiones futuras, consulte la función.dbstatus

Temas relacionados