哪里有关于如何正确使用Xcode调试器的好教程?

前端之家收集整理的这篇文章主要介绍了哪里有关于如何正确使用Xcode调试器的好教程?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
主题说这一切真的……有没有适合 Xcode调试器的好教程?我发现了一些东西,但没有什么全面的或足够深的东西.我现在的问题是这……
#0  0x90d9c688 in objc_msgSend
#1  0x30506515 in NSPopAutoreleasePool
#2  0x30901697 in _UIApplicationHandleEvent
#3  0x32046375 in PurpleEventCallback
#4  0x30245560 in CFRunLoopRunSpecific
#5  0x30244628 in CFRunLoopRunInMode
#6  0x308f930d in -[UIApplication _run]
#7  0x309021ee in UIApplicationMain
#8  0x00001ff8 in main at main.m:14

……结合这……

0x90d9c688  <+0024>  mov    0x20(%edx),%edi

…还有这个…

EXC_BAD_ACCESS

……没有多大帮助.或者说,真的.我正在尝试评论代码行,必须有更好的方法.

谢谢

更新:我想也许我的发泄有点分散了真正的问题,虽然提示有助于解释一些事情.我真正得到的不仅仅是对上述内容的解释,而是一般使用调试器.我通常遇到的问题是:

>当我跳过或进入时,为什么调试器有时会从源代码视图转到(我假设的)汇编代码?有没有办法让我一直同时看到两者?
>我是否应该在汇编代码中寻找任何具体内容,或者在特定情况下可以提供哪些帮助?
>看起来断点允许操作,所以我很好奇如何使用它而不是用NSLog语句来编写代码.

我知道这些是广泛的,可能应该单独询问,但我不想把这些可能已在其他地方记录的主题弄乱到SO空间.

我还注意到这里有一个几乎重复的问题:What are some Objective-c debugging tips?

解决方法

崩溃是在Apple的代码中(这就是为什么调试器没有向您显示代码),并且它的原因实际上是在其他地方 – 您已经发布了一个应该由autorelease pool释放的临时对象.这导致自动释放池崩溃.

你应该只发布以下对象:

>你保留自己使用保留
>仅由init,copy和new方法返回(以及包含这些单词的变体)

不幸的是,你无法从调试器中学到这一点,只能从文档和经验中学到……

您可以使用@L_403_2@来查找此类错误(有时).

猜你在找的iOS相关文章