Sun Studio 12:使用 dbx 调试程序

更改访问作用域

下列命令是更改访问作用域的最常用方法:

debug 命令和 attach 命令可设置初始访问作用域。

遇到断点时,dbx 会将访问作用域设置为当前位置。如果将 stack_find_source 环境变量(请参见设置 dbx 环境变量)设置为 ON,则 dbx 会尝试查找并激活有源代码的栈帧。

使用 up 命令(请参见up 命令)、down 命令(请参见down 命令)、frame number 命令(请参见frame 命令)或 pop 命令(请参见pop 命令)更改当前栈帧时,dbx 根据新的栈帧中的程序计数设置访问作用域。

仅当使用 list function 或 list file 命令时,list 命令(请参见list 命令)使用的行号位置才会更改访问作用域。在设置访问作用域后,list 命令的行号位置会设置为访问作用域的第一个行号。以后使用 list 命令时,list 命令的当前行号位置会更新,但只要是列出当前文件中的代码行,访问作用域就不会更改。例如,如果键入以下内容,dbx 会列出 my_func 源的开头,并将访问作用域更改为 my_func。


(dbx) list my_func

如果键入以下内容,dbx 会列出当前源文件的第 127 行,但不会更改访问作用域。


(dbx) list 127

使用 file 命令或 func 命令更改当前文件或当前函数时,访问作用域也会相应更新。