主要内容

La traducción de esta página está obsoleta。Haga clic aquí para ver la última versión en inglés。

Depurar档案馆código deMATLAB

Desde la versión R2021b。Reemplaza调试MATLAB程序(R2021a) y在实时编辑器中调试代码(R2021a)。

Puede诊断问题存档código de MATLAB®depurando el código de manera interactiva en el editor y en Live editor, o bien de manera programática empleando las funciones de depuración en la ventana de comandos。

干草的变种código:

  • 我的心灵是空虚的。

  • 弹射código事件发生línea具体事件发生过程中发生的事件botón跑到这里。

  • Entre en funciones y scripts mientras está en pausa haciendo clic en el botón介入。

  • 协议内容interrupción有关保护的档案líneas有关保护的具体内容código。

国家档案馆的Antes de iniciar la depuración y相应的结果,国家档案馆的守卫código y asegúrese de estos de lalatuta de búsqueda o en la地毯实际。MATLAB gestiona los cambios sin guardar de diente modo dediendo del lugar desde el que realice la depuración:

  • 编辑器- Si un archivo contene cambios sin guardar, MATLAB guarda el archivo antes de ejecutarlo。

  • 实时编辑器- MATLAB ejecuta todos los cambios de un archivo, tanto si están guardados como si no lo están。

  • Ventana de commandos - Si un archivo contene cambios sin guardar, MATLAB ejuta la versión guardada del archivo。没有verá没有结果。

Mostrar la salida

一个决定的因素dónde这是一个产生的问题在一个档案código这是一个最基本的数据。天上的星星línea,最后的星星línea cuestión。En el编辑器,MATLAB muestra la salida En la ventana de commandos。En Live编辑器,MATLAB muestra la salida con la línea de código que la crea。

我爱你,我爱你plotRand.mQue representation a UN vector de datos aleatorios y traza una línea horizontal en la gráfica en la media。

N = 50;R = rand(n,1);Plot (r) m = mean(r);持有情节([0 n] [m m])标题(“随机均匀数据的均值”

Para mostrar la salida de la función兰德En la línea dos, elimine el punto y coma del final de la línea。MATLAB的英勇之旅r突击队员的行动。

命令窗口,显示对plotRand函数的调用,后面跟着结果输出,即r的值

En Live编辑器,MATLAB muestra el valor derCon la línea dos。

plotRand活动脚本,从第二行末尾删除分号,结果输出r的值显示在右侧

Depurar usando el botón跑到这里

太阳的变化,útil太阳的变化。Para analizar el estado de todas las变量área de trabajo,弹出el archiivo de código y, a continuación, ponga en pausa el procesat de ejecutar la línea de código especificada。

Para ejutar código en una línea具体的luego poner el proceso en pausa, haga clic en el botón跑到Here sitado a la izquierda de la línea。Si no se puede llegar a la línea seleccionada, MATLAB continúa ejecutándose hasta llegar al final del archivo hasta encontrar un punto de interrupción。

背板

En funciones y classes, el botón独自跑到这里está disponible al depurar。

Por ejemplo, haga clic en el botón跑到Here sitado a la izquierda de la línea dos enplotRand.m.MATLAB ejecutaplotRand.m积极行动línea我们的安全卫士和安全卫士línea dos。

plotRand脚本,运行到这里按钮显示在左边的空白中,在第二行的行号旁边

Cuando MATLAB se detiene, se producen cambios:

  • El boton运行德拉pestaña编辑器o住编辑器Pasa a ser el botón继续

  • La línea de突击队员de La ventana de突击队员cambia aK > >,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, depuración,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

  • MATLAB indica la línea enla que se ha detenido con una fleecha y un resalado verde。

    在第二行上使用绿色箭头和绿色高亮显示的plotRand脚本,表示MATLAB在第二行暂停

Sugerencia

Se建议evitar修改un档案米恩特拉斯MATLAB esté detenido。Los cambios realizados mientras MATLAB está en pausa no se ejecutan hasta después que MATLAB termine de ejecutar el código y se reanude la ejecución del código。

La línea en La que MATLAB se detiene no se ejecuta hasta después de continuous con La ejecución del código。Para seguir ejecutando el código, haga clic en el botón继续.MATLAB continúa ejecutando el archivo hasta que lleggue al final este o un punto de interrupción。También puede hacer clic en el botón情况,一个la izquierda de la línea de código有一个la que desea连续的喷射。

Para seguir ejecutando el código línea por línea, en la pestaña编辑器o住编辑器, haga clic en一步.MATLAB ejecuta la línea实际的en la que se ha detenido y luego se detiene en la siguiente línea。

plotRand脚本,在第三行上使用绿色箭头和绿色高亮显示,表示MATLAB在第三行暂停

可视化变量杜兰特拉的英勇depuración

Para ver el valor de una变量mientras MATLAB está detenido, colque el光标清醒la变量。英勇,实际,可变的外表,在那生命的数据中。在夜幕下,夜幕下,夜幕下。Para desactivar las sugerencias de datos, vaya a la pestaña视图Y haga clic en el botón de desactivación deDatatips

plotRand脚本在第二行暂停,并显示变量n的值

También敢死队的英勇和英勇的变化以及敢死队的行动。我爱你,我爱你,我爱你n, escribany脉冲输入.突击队员的口令口令口令口令口令口令口令。Para ver todas las variables del área de trabajo actual, utilice el navigator del trabajo espacio。

Para obtener más información, consulte调试时检查值

Pausar un archiivo en ejecución

Puede poner en pausa la ejecución de código prolongada mientras se está射出射出的para comprobar el progreso和garantizar que se射出的según lo previsto。Para poner en pausa la ejecución de código, vaya a la pestaña编辑器o住编辑器Y haga clic en el botón暂停.MATLAB se detiene en la siguiente línea弹射y el botón暂停Pasa a ser el botón继续.Para continuar con la ejecución de código, pulse el botón继续

背板

Al hacer clic en el botón暂停,我们的档案,我们的档案código。

Entrar en funciones

杜兰特拉depuración,在档案中寻找宝藏,deteniéndose在宝藏中寻找宝藏。Para entrar en un archiivo, haga clic en el botónStep In sitado justo a la izquierda de la función en la que desea entrar。MATLAB muestra el botón solo si la línea连续的una美洲驼一个奥特拉función。Después entrar, haga clic en el botón走出去,档案上级的情况,para弹射恢复función羊驼,salir de la función羊驼,a continuación, poner en pausa。

形式上的预先决定,el botón单独步进está可分解的para funciones definidas por el uuario y脚本。Para que el botón esté activo Para funciones de MathWorks®, en la pestaña首页, en la sección环境, haga clic en首选项.continuación, seleccioneMATLAB>编辑/调试器Y, en la sección调试, borre la opción对于用户定义的函数,只显示上下文Step in按钮

También我们在一起的时间depuración我们在一起的时间一步o走出De las pestañas编辑器o住编辑器.Estos boones没有respetan la preferencia对于用户定义的函数,只显示上下文Step in按钮数学工作,数学定义,数学计算,数学计算,数学计算,数学计算,数学计算,数学计算,数学计算。

Pila de llamadas a funciones

Cuando entra enuna función o un archivo llamados, MATLAB muestra la lista de las funciones que han ejecutado antes de detenerse enla línea实际。La lista, también美洲驼Pila de llamadas a funciones,这一定要在部分的高级del档案和一定要在部分的功能,和一定要在部分的高级档案和一定要在部分的功能,和一定要在部分的功能,和一定要在部分的功能,和一定要在部分的功能función。

plotRand的函数调用堆栈,显示plotRand为第一个被调用的脚本,mean为当前函数

Para cada función de la pila de llamadas, hay un área de trabajo通讯员。Las áreas数据连续变量计算MATLAB中输入数据档案程序。变量有关的信息,媒介,语言,作战,任务,脚本,相关的área de trabajo básica。变量的crea a变量función que pertenece a su propia变量área de trabajo de funciones。

我们的变量检验área特拉巴霍实际选择和área特拉巴霍不同。Para obtener más información, consulte调试时检查值

Agregar puntos de interrupción y ejecutar código

我们的档案líneas de código与我们的关系código,与我们的关系interrupción de líneas。Puede agregar puntos de interrupción de manera interactiva empleando el editor y Live editor, de manera programática usando funciones de la ventana de commandos, o bien con ambas opciones。

Hay tres tipos de puntos de interrupción: estándar,条件错误。Para agregar un punto de interrupción estándar en el editor o Live editor, haga clic en la zona gris sitada a la izquierda de la línea可弹出donde desea建立el punto de interrupción。Por ejemplo, haga clic在la zona junto a la línea tres deplotRand.mPara agregar UN punto de interrupción en dicha línea。

plotRand脚本,在第三行有一个红色断点

Cuando弹出el archivo, MATLAB se detendrá en la línea de código indicada por el punto de interrupción。La línea en La que MATLAB se detiene no se ejecutando su código。

我爱你,我爱你plotRand.mAbierto en el editor, haga clic en el botón运行德拉pestaña编辑器.MATLAB ejecutaplotRand.m欣欣向荣的天空línea我们的天空,我们的天空línea天空。

Cuando MATLAB se detiene, se producen cambios:

  • El boton运行德拉pestaña编辑器o住编辑器Pasa a ser el botón继续

  • La línea de突击队员de La ventana de突击队员cambia aK > >,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, depuración,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

  • MATLAB indica la línea enla que se ha detenido con una fleecha y un resalado verde。

    plotRand脚本,第三行有一个断点,第三行有一个绿色箭头和绿色高亮显示,表示MATLAB在第三行暂停

Sugerencia

Se建议evitar修改un档案米恩特拉斯MATLAB esté detenido。Los cambios que se realizan mientras MATLAB está en pausa no se ejecutan hasta después que MATLAB termine de ejecutar el código y se reanude la ejecución del código。

Para seguir ejecutando el código, haga clic en el botón继续.MATLAB continúa ejecutando el archivo hasta que lleggue al final este o un punto de interrupción。Para continuous ejecutando el código línea por línea, en las pestañas编辑器o住编辑器, haga clic en一步.MATLAB ejecuta la línea实际en la que se ha detenido y, a continuación, se detiene en la línea siguiente。

Para obtener más información acerca de los different tipos de puntos de interrupción y cómo configuration, borrarlos y desactivarlos, consulte设置断点

最后拉sesión德depuración

Después de identiar un problema, para finalizar la sesión de depuración, vaya a la pestaña编辑器o住编辑器Y haga clic en停止.Después de la depuración, la línea de comandos normal de>>De la ventana De commandos reaparece en lugar De la línea De commandos DeK > >.Después,没有podrá acceder más la pila de llamadas a funciones。

Para evitar confused, asegúrese de finalizar su sesión de depuración cada vez que terminde depurar。Si realiza cambios en un archivo y lo guarda durante la depuración, MATLAB finaliza la sesión de depuración。Si MATLAB deja de responder al ponerse en pausa,脉冲Ctrl + CPara finalizar la depuración。

在我的世界里,我的世界里,我的世界

我们在一起mayoría我们在一起depuración我们在一起,我们在一起。“我们的手记”描述了depuración与通讯员的联系方式,así与通讯员的联系方式。

Accion Descripcion 存取直接del teclado 脂肪酸的

继续

查档案的最后一件事interrupción。

F5

dbcont

一步

Ejecuta la línea实际de código。

F10

Mayus。+第一+ Oen sistemamacOS

dbstep

一步

Ejecuta la línea实际de código y, si la línea连续una美洲驼a ottra función, entra en la función en cuestión。

Mayus +第一+ Ien sistemamacOS

dbstep

走出

Después de entrar, ejecuta el resto de la función美洲驼,sale de ella y hace una pausa。

Mayus +季。

Mayus。+第一+ Uen sistemamacOS

dbstep

停止

结束la sesión de depuración。

Mayus + F5。

dbquit

建立un punto de interrupción

建立un punto de interrupción en la línea实际de no haber puntos de interrupción。

F12

dbstop

Borrar punto de interrupción

Borra el punto de interrupción de la línea实际。

F12

dbclear

特马relacionados