Oracle® Solaris Studio 12.4:使用 dbx 调试程序

退出打印视图

更新时间: 2015 年 1 月
 
 

放宽作用域查找规则

要为静态符号和 C++ 成员函数放宽作用域查找规则,请将 dbxenv 变量 scope_look_aside 设置为 on

dbxenv scope_look_aside on

您还可以使用“双反引号”前缀:

stop in ``func4            func4 may be static and not in scope

    如果将 dbxenv 变量 scope_look_aside 设置为 on,则 dbx 查找以下内容:

  • 在其他文件中定义的静态变量(如果在当前作用域中没有找到)。不会搜索 /usr/lib 下的库中的文件。

  • 没有类限定的 C++ 成员函数。

  • 其他文件中的 C++ 内联成员函数实例(如果某个成员函数在当前文件中未实例化)。

which 命令会告知您 dbx 选择哪个符号。如果有二义名,重载显示列表会指明 dbx 尚未确定它会使用两个或更多名称中的哪一个具体值。dbx 会列出可能的值,等待您从中选择一个。