如果我的 iOS 程序在调试器中运行,我正在寻找一种方法来使 XCode 调试器以编程方式从 Swift 代码中断。这类似于 System.Diagnostics.Debugger.Break() 在 Visual Studio 环境中的工作方式。这可能吗?关键在于任何开发人员遇到特定代码段时都会中断,但不会出现导致代码执行永久停止的 fatal error 。
编辑:这与用户要求“启用”断点有点不同(尽管该问题中提供的答案确实是我正在寻找的)。我还在寻找可以在 Swift 中完成而无需互操作、桥接 header 等的东西。
最佳答案
对于 Swift,raise(SIGINT)
对我有用。
我有这个功能:
func fail(desc: String) {
#if DEBUG
print("assertFail:\(desc)")
raise(SIGINT)
#endif
}
有关 DEBUG 宏设置,请参见此处:In absence of preprocessor macros, is there a way to define practical scheme specific flags at project level in Xcode project
关于ios - 我可以让 Xcode 的调试器以编程方式中断吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34519498/