主要内容

dbstack

函数调用栈

描述

例子

dbstack显示导致当前暂停条件的函数调用的行号和文件名,按它们执行的顺序列出。显示从当前正在执行的函数开始,一直显示到最上面的函数。每个行号都是到编辑器中该行的超链接。的符号functionname > localfunctionname描述局部函数的位置。

例子

dbstack (n省略了第一个n从显示中堆栈帧。此语法可能很有用,例如,当发出dbstack在错误处理程序中。

例子

dbstack (___, ' -completenames ')输出堆栈中每个函数的全限定名称。

你可以指定“-completenames”使用前面语法中的任何输入参数。

例子

= dbstack (___对象中的堆栈跟踪信息——- - - - - -1结构,

例子

= dbstack(___同样的回报,当前工作空间索引。

例子

全部折叠

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

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

函数N = myfile(x);结束函数Z = myfunction(y) Z = 2 / y;结束

设置断点为myfunction和运行myfile输入为1.在执行myfunction, MATLAB在行前暂停Z = 2/y

dbstopmyfunction myfile >myfile (1);

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

dbstack
在myfile(第2行)中

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

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

函数N = myfile(x);结束函数Z = myfunction(y) Z = 2 / y;结束

设置断点为myfunction和运行myfile输入为1.在执行myfunction, MATLAB在行前暂停Z = 2/y

dbstopmyfunction myfile >myfile (1);

运行dbstack命令,省略第一个帧并请求完整的名称。MATLAB返回指定结构中的堆栈跟踪信息

[ST, I] = dbstack(“-completenames”, 1)
ST = file: 'C:\myProject\myfile。m' name: 'myfile' line: 2 I = 1

输入参数

全部折叠

要省略的帧数,指定为非负整数。

输出参数

全部折叠

返回的堆栈跟踪信息——- - - - - -1结构,调用堆栈中的函数数。该结构具有这些字段。

文件 函数出现在其中的文件。如果没有文件,此字段为空。
的名字 文件中的函数名。
函数调用的行号。

请注意

如果你越过了文件的末尾,dbstack返回一个负的行号值,以标识该特殊情况。例如,如果要执行的最后一行是line15,则dbstack行号为15在你执行这一行之前-15年后。

当前工作空间索引,作为正整数返回。索引表示当前工作空间与MATLAB当前暂停或执行的工作空间之间的工作空间数量。

扩展功能

R2006a之前介绍