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.

Depurar un programaMATLAB

Para depurar el programa gráficamente, utilice el editor/depurador.MATLAB® Alternativamente, puede utilizar funciones de depuración en la ventana de comandos. Ambos métodos son intercambiables.

Antes de comenzar la depuración, asegúrese de que el programa está guardado y que el programa y los archivos que llama existen en la ruta de búsqueda o en la carpeta actual.

  • Si ejecuta un archivo con cambios sin guardar desde dentro del editor, el archivo se guardará automáticamente antes de que se ejecute.

  • Si ejecuta un archivo con cambios no guardados desde la ventana de comandos, el software ejecutará la versión guardada del archivo.MATLAB Por lo tanto, no verá los resultados de los cambios.

Establecer punto de interrupción

Establecer puntos de interrupción para pausar la ejecución de un archivo para que pueda examinar el valor o las variables donde cree que podría ser un problema.MATLAB Puede establecer puntos de interrupción mediante el editor, utilizando funciones en la ventana de comandos, o ambos.

Hay tres tipos diferentes de puntos de interrupción: estándar, condicional y error. Para agregar un punto de interrupción en el editor, haga clic en el callejón de punto de interrupción en una línea ejecutable donde desea establecer el punto de interrupción.standard 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. Por ejemplo, haga clic en el callejón de punto de interrupción junto a la línea 2 en el código siguiente para agregar un punto de interrupción en esa línea.

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:

Para obtener más información sobre los distintos tipos de puntos de interrupción, consulte.Establecer puntos de interrupción

Ejecute File

Después de establecer los puntos de interrupción, ejecute el archivo desde la ventana de comandos o el editor. La ejecución del archivo produce estos resultados:

  • elRunbotón cambia a unPauseBotón.

  • El mensaje en la ventana de comandos cambia a indicar que está en modo de depuración y que el teclado está en control.K>>MATLAB

  • pausas en el primer punto de interrupción del programa.MATLAB En el editor, una flecha verde situada justo a la derecha del punto de interrupción indica la pausa. El programa no ejecuta la línea donde se produce la pausa hasta que se reanuda la ejecución. Por ejemplo, aquí el depurador se detiene antes de que se ejecute el programa.x = ones(1,10);

  • muestra el espacio de trabajo actual en el, en la pestaña de la sección.MATLABFunction Call StackEditorDebug

    Si utiliza funciones de depuración desde la ventana de comandos, utilice para ver la pila de llamadas de función.dbstack

Para obtener más información sobre el uso de la pila de llamadas de función, consulteSeleccione Workspace

Pausar un archivo en ejecución

Para pausar la ejecución de un programa mientras se está ejecutando, vaya a la pestaña y haga clic en elEditorPauseBotón. pausa la ejecución en la siguiente línea ejecutable y elMATLABPausebotón cambia a unContinueBotón. Para continuar con la ejecución, pulse elContinueBotón.

Pausar es útil si desea comprobar el progreso de un programa de ejecución prolongada para asegurarse de que se está ejecutando como se esperaba.

Nota

Al hacer clic en el botón de pausa puede hacer una pausa en un archivo fuera de su propio archivo de programa.MATLAB Pulsando elContinuebotón reanuda la ejecución normal sin cambiar los resultados del archivo.

Encontrar y corregir un problema

Mientras el código está en pausa, puede ver o cambiar los valores de las variables, o puede modificar el código.

Ver o cambiar variable durante la depuración

Ver el valor de una variable durante la depuración para ver si una línea de código ha generado el resultado esperado o no. Para ello, sitúe el puntero del ratón a la izquierda de la variable. El valor actual de la variable aparece en una sugerencia de datos.

La sugerencia de datos permanece en la vista hasta que mueva el puntero. Si tiene problemas para que aparezca la sugerencia de datos, haga clic en la línea que contiene la variable y, a continuación, mueva el puntero junto a la variable. Para obtener más información, consulte.Examinar valores durante la depuración

Puede cambiar el valor de una variable durante la depuración para ver si el nuevo valor produce resultados esperados. Con el programa en pausa, asigne un nuevo valor a la variable en la ventana de comandos, el explorador de área de trabajo o el editor de variables. A continuación, siga corriendo o recorriendo el programa.

Por ejemplo, aquí se pausa dentro de un bucle donde:MATLABforn = 2

  • Escriba en la línea de comandos para cambiar el valor actual de 2 a 7.n = 7;n

  • PulseContinuepara ejecutar la siguiente línea de código.

ejecuta la línea de código con.MATLABx(n) = 2 * x(n-1);n = 7

Modificar sección de código durante la depuración

Puede modificar una sección de código durante la depuración para probar posibles correcciones sin tener que guardar los cambios. Normalmente, es una buena práctica modificar un archivo después de salir de la depuración y, a continuación, guardar la modificación y ejecutar el archivo.MATLAB De lo contrario, podría obtener resultados inesperados. Sin embargo, hay situaciones en las que desea experimentar durante la depuración.

Para modificar un programa durante la depuración:

  1. Mientras el código está en pausa, modifique una parte del archivo que aún no se ha ejecutado.

    Los puntos de interrupción se vuelven grises, indicando que no son válidos.

  2. Seleccione todo el código después de la línea en la que está en pausa, haga clic con el botón derecho y, a continuación, seleccione en el menú contextual.MATLABEvaluate Selection

Una vez completada la evaluación de código, detenga la depuración y guarde o deshacer los cambios realizados antes de continuar con el proceso de depuración.

Paso a través del archivo

Durante la depuración, puede recorrer un archivo, haciendo una pausa en los puntos donde desea examinar los valores.MATLAB

Esta tabla describe las acciones de depuración disponibles y los diferentes métodos que puede usar para ejecutarlas.

Descripción

Botón de barra de herramientas

Función alternativa

Continuar la ejecución del archivo hasta la línea donde se coloca el cursor. También disponible en el menú contextual.

Run to Cursor

Ninguno

Ejecute la línea actual del archivo.

Step

dbstep

Ejecute la línea actual del archivo y, si la línea es una llamada a otra función, paso a esa función.

Step In

dbstepin

Reanude la ejecución del archivo hasta que finalice o hasta que se encuentre otro punto de interrupción.

Continue

dbcont

Después de entrar, ejecute el resto de la función llamada o función local, deje la función llamada y PAUSE.

Step Out

dbstepout

Pausar el modo de depuración.

Pause

Ninguno

Salga del modo de depuración.

Quit Debugging

dbquit

Finalizar sesión de depuración

Después de identificar un problema, finalice la sesión de depuración yendo a la pestaña y haciendo clic enEditorQuit Debugging. Debe finalizar una sesión de depuración si desea cambiar y guardar un archivo, o si desea ejecutar otros programas.MATLAB

Después de salir de la depuración, los indicadores de pausa en la pantalla del editor ya no aparecen y el mensaje normal vuelve a aparecer en la ventana de comandos en lugar del.>>K>> Ya no se puede acceder a la pila de llamadas.

Si el software no responde cuando se detiene en un punto de interrupción, presione para volver al símbolo del sistema.MATLABCtrl+cMATLAB

Temas relacionados