在发布模式下在手机上运行调试器时,我们的调试器出现了一个奇怪的错误。无论我们是在 xcode 4.3.3 中使用 gdb 还是 lldb,即使代码的 PC 并未真正指向该点,代码也会落在断点上。
假代码示例:
if (true) {
// set breakpoint-A here
} else {
// set breakpoint-B here
}
// 在此处设置另一个断点-C。
它将降落在断点-B,然后跳转到断点-A。
是因为我们处于“发布”模式并且正在优化吗?
谢谢!