ios - 我可以让 Xcode 的调试器以编程方式中断吗?

标签 ios xcode swift debugging

如果我的 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/

相关文章:

ios - 如何在 Objective C 的 Dynamic UITableViewCell 中隐藏特定的行按钮?

ios - UITableViewCellEditingStyleInsert 添加按钮不起作用

xcode - 更改 XCode 中 home 和 end 键的工作方式

iphone - 获取数组对象的索引

ios - 具有倍增效果的 Swift UIView

ios - Swift: Codable - 提取单个编码 key

swift - openstack4j 可以与 Softlayer(不是 IBM Cloud)Swift 对象存储服务一起使用吗?

ios - UICollectionView 更改 Drop Placeholder 索引路径

ios - 从 iOS 导出椭圆曲线 key 以使用 OpenSSL

ios - .podspec 错误 - source_files` 模式不匹配任何文件