Xcode/iOS 设备调试
Xcode/iOS Device Debugging
调试 iOS 应用程序时,即 iOS 8.1/8.2,当应用程序在某处崩溃时,它似乎只在 main.m
中的 int main
处崩溃或者它在实际的 assy 代码方面崩溃。
即使想退后一步,也似乎根本不让我退后一步。
我试过重新创建这些方案。我检查过符号没有被删除,编译器在构建设置中没有进行任何优化。
具体来说,这似乎只适用于在设备上进行调试,而不适用于模拟器(我从来没有用过)。
如何让它在导致 exception/whatever.
的 Obj-C 或 Swift 行崩溃
谢谢
阿德
xCode 通常会在发生崩溃时显示 main.c,这仅表示在 main.c 中调用的子程序崩溃了。
找出究竟是什么崩溃的最简单方法是在程序中的某处放置断点,就在您认为可能可疑的点之前。如果应用程序在断点命中之前崩溃,请将断点放置得更早,直到它在崩溃之前命中。当触发断点时,逐步跟踪应用程序,找出崩溃的确切原因。
此外,查看调用堆栈通常很有帮助。
您可以添加一个 异常断点 这将在发生 "Error" 的地方停止您的代码。
- 转到断点导航器 (⌘ CMD+7)
- 点击底部的“+”号
- 选择添加异常断点
异常断点 未在任何行上设置。以下是默认设置:
调试 iOS 应用程序时,即 iOS 8.1/8.2,当应用程序在某处崩溃时,它似乎只在 main.m
中的 int main
处崩溃或者它在实际的 assy 代码方面崩溃。
即使想退后一步,也似乎根本不让我退后一步。
我试过重新创建这些方案。我检查过符号没有被删除,编译器在构建设置中没有进行任何优化。
具体来说,这似乎只适用于在设备上进行调试,而不适用于模拟器(我从来没有用过)。
如何让它在导致 exception/whatever.
的 Obj-C 或 Swift 行崩溃谢谢
阿德
xCode 通常会在发生崩溃时显示 main.c,这仅表示在 main.c 中调用的子程序崩溃了。
找出究竟是什么崩溃的最简单方法是在程序中的某处放置断点,就在您认为可能可疑的点之前。如果应用程序在断点命中之前崩溃,请将断点放置得更早,直到它在崩溃之前命中。当触发断点时,逐步跟踪应用程序,找出崩溃的确切原因。
此外,查看调用堆栈通常很有帮助。
您可以添加一个 异常断点 这将在发生 "Error" 的地方停止您的代码。
- 转到断点导航器 (⌘ CMD+7)
- 点击底部的“+”号
- 选择添加异常断点
异常断点 未在任何行上设置。以下是默认设置: