在 iPad(OS 6.1.3、SDK 6.1)上调试应用程序时,程序偶尔会在收到 SIGTRAP
信号后暂停。我首先注意到这种情况发生在 stat
函数中(来自 /usr/include/stat.h
),但它也发生在其他一些地方,例如 semwait_signal
(来自nanosleep
)。最明显的模式是它总是在运行指令 svc#128 后立即发生。对于 stat
来说,它返回 0
并且没有错误,因此它似乎没有指示任何类型的故障状态。
还有其他人经历过这种情况,或者知道如何解决它吗?
谢谢!
最佳答案
不幸的是,我没有发现这些基本函数到底为何会引发 SIGTRAP
,但当我修复了 iOS 项目的更大问题后,这种症状就消失了。
我链接的应用程序目标和静态库目标没有一致地定义预处理器宏_DEBUG
,这会生成一些奇怪的程序集。它们具有相同级别的优化,但显然包含/排除 _DEBUG
造成的差异足以导致问题。
关于ios - 在 iOS 6.1 上指令 "svc 128"后接收信号 SIGTRAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16158922/