0

我刚开始做 iPhone 开发。目前,我正在尝试修复已构建的应用程序中存在的错误。主函数如下所示:

#import <UIKit/UIKit.h>

int main(int argc, char *argv[]) {

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    int retVal = UIApplicationMain(argc, argv, nil, nil);
    [pool release];
    return retVal;
}

据我了解,这似乎很典型;我猜UIApplicationMain是主循环,为应用程序创建的源文件通过在 Objective-C 中使用委托/函数指针专门连接到主循环(注意,虽然我非常精通 C++,但我几乎不知道很多关于 iOS 或 Objective-C 的内容)。

所以,我想知道的是如何逐步浏览我的源文件并追踪我在这个应用程序中遇到的计算错误。不幸的是,当UIApplicationMain我进入 .似乎正在输出 AT&T 语法(注意:如果可以将 asm 语法更改为 Intel,如果有人能说明如何做到这一点,我将不胜感激)。

谢谢。

4

3 回答 3

1

iOS 中的主要功能在所有项目中几乎相同。它只是为了让球滚动。这是一个很好的调试教程,尤其是 Xcode 中的崩溃。调试教程

于 2012-07-16T21:09:23.037 回答
1

您可以通过单击左侧代码和项目资源管理器之间的灰色空间在每一行上放置断点。运行时,遇到断点模拟器或设备将停止运行并显示代码。然后点击将显示在底部调试窗口左上角的向下箭头按钮逐行运行,这将在适当时显示 asm,或者点击将运行直到下一个断点的向右箭头打。您可以通过单独删除断点或切换顶部的断点按钮来禁用断点。

于 2012-07-16T21:09:54.140 回答
1

(回答注意不是实际问题)

xcode 可以设置为使用 gdb(在方案设置中):

只需添加到您的 .gdbinit (位于您的主目录中):

“设置拆解-风味英特尔”

对于 lldb 可能有类似的东西

于 2012-07-16T22:09:18.637 回答