有一种方法可以核实您是否确实检查完函数的 else 块,那就是在 checkThings() 上设置一个断点并运行程序。但 checkThings() 可能会被多次调用。您可以使用断点计数或受限制的断点来实现对 checkThings() 的正确调用,但重播最近所执行内容的更快方法是弹出堆栈。
选择 "Debug"(调试)-> "Stack"(堆栈)-> "Pop Topmost Call"(弹出最顶层调用)。
请注意 "Pop Topmost Call"(弹出最顶层调用)不会撤消任何内容。尤其是,err_silent 的值已出错,因为您正从数据调试切换到控制流调试。
进程状态恢复到包含对 checkThings() 的调用的行的开始处。
单击 "Step Into"(步入) 并在再次调用 checkThings() 时进行观察。
在单步执行 checkThings() 时,您可以验证该进程是否执行了 if 块(此处 err_silent 没有递增,并且接着会递减至 -1)。
尽管您似乎已找到编程错误,但您可能需要反复对其进行检查。