如何在断点处查看Objective-c(汇编代码等价物)?

时间:2012-07-16 18:07:53

标签: objective-c xcode cocoa-touch assembly

如何在断点处查看XCode(汇编代码等效)?

我已经去了Thread1,它显示了[ViewController viewDidLoad]的objective-c,然后是[UIViewController视图]和[UIWindow makeKeyAndVisible]的程序集。我希望能够在break pt处看到带有标记的[ViewController viewDidLoad]的程序集?

(Product-> GenerateOutput-> Generate Assembly File:不显示中断点。)

THX

void addme(int *a)
{
    *a += 0xFF;// <-- I want to see the assembly for this:  should see an instruction "ADD" in the assembly break down
    *a += 1;
    *a += 2;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    int a = 12;
    addme(&a);
}    

3 个答案:

答案 0 :(得分:2)

步骤:

  1. 将断点放在要查看汇编代码的位置
  2. 运行程序
  3. 程序暂停后,按下看起来像的按钮 - &gt; | (但指向下方)
  4. 重复第3步
  5. 舞蹈
  6. 见世界
  7. 不知道生活中的乐趣
  8. 流行乐瓶
  9. 变老
  10. 模具
  11. 我不太确定这是你要求的,但我刚刚做了(嗯,步骤1-5和8),它对我有用。

    enter image description here

    它位于屏幕的底部,位于控制台上方。

答案 1 :(得分:1)

并且你可能根本不会看到汇编ADD指令,因为编译时计算编译时常数,因此在编译时由编译器优化。

答案 2 :(得分:0)

@jdl事实上我不知道Objective-C而且@Dustin不知道asm ......因为我理解viewDidLoad函数会在加载某个对象时执行代码。在我看来,你只能编译你在问题中包含的那部分代码,并通过IDA pro为Mac OS或其他调试器查看汇编代码。