Oracle® Solaris Studio 12.4:dbxtool 教程

退出打印视图

更新时间: 2014 年 10 月
 
 

步骤 8:确定具体原因

再次使用气球表达式求值检查 err_silent。现在的值为 -1。最有可能的原因是,在您到达 printField() 之前,一个 err_silent-- 执行得太多,或者一个 err_silent++ 执行得太少。

您可以通过仔细检查代码,在与该示例类似的小程序中找到这个不匹配的 err_silent 对。但是,大型程序可能包含大量的以下配对:

err_silent++;
err_silent--;

更为快捷地找到不匹配的 err_silent 对的方法是使用监视点。

错误的原因可能根本不是不匹配的 err_silent++;err_silent--; 对,而是一个覆盖了 err_silent 内容的异常指针。在捕获此类问题时,监视点会比较有效。