Oracle® Solaris Studio 12.4:dbxtool 教程

退出打印视图

更新时间: 2014 年 10 月
 
 

步骤 5:查找原因

由于 err_silent 不 > 0,因此发出了不需要的错误消息。通过气球表达式求值看一下 err_silent 的值。

  1. 将光标放在第 31 行中 err_silent 的上方,然后等待其值显示出来。

    image:气球表达式求值显示 err_silent = 0 的编辑器窗口

    跟随堆栈看一下设置 err_silent 的位置。

  2. 单击 "Make Caller Current"(使调用方成为当前调用方)image: 两次以到达 evaluateField(),该函数已调用 evaluateFieldPrepare(),模拟一个可能正在处理 err_silent 的复杂函数。

    image:在 evaluateField 中有淡紫色条的编辑器窗口
  3. 再次单击 "Make Caller Current"(使调用方成为当前调用方)以到达 printField(),此处 err_silent 正在递增。printField() 也已调用 printFieldPrepare(),printFieldPrepare 也模拟一个可能正在处理 err_silent 的复杂函数。

    image:在 printField 中有淡紫色条的编辑器窗口

    请注意 err_silent++err_silent-- 如何将某些代码包围起来。

    err_silent 可能在 printFieldPrepare()evaluateFieldPrepare() 中出错,或者当控制到达 printField() 时 err_silent 已经出错。