dbstack

函数调用堆栈

描述

dbstack显示行数和函数调用,导致了目前的暂停状态,在它们的执行顺序排列的文件名。显示与当前执行的功能启动,并继续进行,直到它到达最上面的功能。每一行数是在编辑器中该行的超链接。记号functionname> localfunctionname描述了一个本地函数的位置。

dbstack(ñ省略了第一ñ堆栈从显示帧。此语法可能是有用的,例如,发出时dbstack从错误处理程序中。

dbstack(___'-completenames')输出堆栈中的每个函数的完全合格的名称。

您可以指定'-completenames'与任何在前面的语法输入参数。

ST= dbstack(___返回的堆栈跟踪信息-通过-1结构体,ST

[ST一世] = dbstack(___也回报一世中,当前工作空间索引。

例子

全部收缩

在调试MATLAB®代码文件,发出dbstack命令查看堆栈跟踪信息。

创建一个文件,myfile.m包含这些语句。

功能N = MYFILE(X)N = myfunction的(X-1);结束功能Z = myfunction的(Y)Z = 2 / Y;结束

在设置一个断点MyFunction的并运行MYFILE用的输入1。当执行MyFunction的,MATLAB暂停在该行Z = 2 / Y

DBSTOPMYFILE> myfunction的MYFILE(1);

跑过dbstack命令。MATLAB显示函数调用,导致了当前断点的行号和文件名。

dbstack
在MYFILE> myfunction的(第5行)在MYFILE(线2)

存储完整的文件名,函数名和行号为堆栈中的每个功能在调试文件。

创建一个文件,myfile.m包含这些语句。

功能N = MYFILE(X)N = myfunction的(X-1);结束功能Z = myfunction的(Y)Z = 2 / Y;结束

在设置一个断点MyFunction的并运行MYFILE用的输入1。当执行MyFunction的,MATLAB暂停在该行Z = 2 / Y

DBSTOPMYFILE> myfunction的MYFILE(1);

跑过dbstack命令,省略了第一架,并要求全名。MATLAB返回指定结构中的堆栈跟踪信息ST

[ST,I] = dbstack('-completenames',1)
ST =文件:C:\ myProject的\ myfile.m'名称: 'MYFILE' 线:2 I = 1

输入参数

全部收缩

帧中省略,指定为一个非负整数的数目。

输出参数

全部收缩

堆栈跟踪信息,返回一个-通过-1结构,其中是在调用堆栈的功能的数量。该结构具有这些领域。

文件 文件中出现的功能。如果没有文件该字段为空。
名称 文件中的函数名称。
线 函数调用的行号。

注意

如果你踩过去文件的末尾,dbstack返回负极线数值来识别特殊情况。例如,如果要执行的最后一行是线15,那么dbstack行号15您执行在该行之前和-15后。

当前工作空间索引,返回一个正整数。该指数表示当前工作空间并在其中MATLAB目前已暂停或执行工作空间之间的工作区的数量。

R2006a前推出