【问题标题】:Xcode is stopping at auto-continue breakpointsXcode 在自动继续断点处停止
【发布时间】:2011-08-29 16:16:46
【问题描述】:

当我在我的项目中设置断点并单击“评估所有操作后继续”复选框时,Xcode 不会继续。不仅如此,执行还经常出现挂起。不管我在断点上是否真的有任何动作,这都是真的。

我的非自动继续断点工作正常。

我尝试了一个全新的项目,但问题仍然存在。所以它必须与我的计算机或 Xcode 中的设置有关。我正在使用 Snow Leopard 和 Xcode 4.0.2。

怎么回事?

编辑:代码和控制台日志。

代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [self.window makeKeyAndVisible];
    int x = 5;
    printf("%d", x);   // breakpoint here with autocontinue checked and no action
    x+=2;
    printf("%d", x);
    return YES;
}

控制台日志:

This GDB was configured as "x86_64-apple-darwin".sharedlibrary apply-load-rules all
Attaching to process 87901.
Pending breakpoint 1 - ""AutocontinueTestAppDelegate.m":21" resolved
Current language:  auto; currently objective-c
57

有趣的是,即使优化设置为无,两个 printf 语句都会触发。

【问题讨论】:

  • 您的标题和描述似乎不一致。问题是“Xcode [is] 在自动继续断点处停止”还是“Xcode 没有停止”?如果是前者,我也有同样的问题,希望你能得到一个好的答案!
  • Xcode 4.1 中会出现这种情况吗?
  • 我实际上认为@deanWombourne 可能是对的:可能是一个错误。这是我刚刚做的一个测试:1)在按钮操作的某处设置断点 2)编辑并设置播放声音+自动继续 3)运行应用程序:当我在模拟器中点击按钮时应用程序暂停。 4) 将断点向下拖动一行:应用程序继续,模拟器来到前台,随后的点击播放声音而不暂停。

标签: iphone ios xcode debugging breakpoints


【解决方案1】:

如果您在设备上运行您的应用程序,我刚刚为您准备了以下内容: 目前,自动继续断点仅适用于模拟器,不适用于设备。

来源:一些苹果工程师。

【讨论】:

    【解决方案2】:

    根据您的描述,这听起来可能是 Xcode 中的一个错误 - 报告它here

    (对不起,我的回答没有帮助)

    【讨论】:

      【解决方案3】:

      你能粘贴你的控制台日志吗?检查您的“条件”和“操作”是否有效且没有错误。我刚刚用resetAllAppData == NO 的动作对此进行了测试,但是断点并没有停止执行,因为“动作”需要是“resetAllAppData == false”。

      这是另一个测试的控制台日志:

      Attaching to process 23361.
      warning: Error parsing breakpoint condition expression
      Pending breakpoint 1 - ""iPhoneAppDelegate.m":50" resolved
      

      我收到此错误是因为我将断点的“操作”设置为“调试器命令”po resetAllAppData,并且由于 resetAllAppData 不是对象typedef signed char BOOL;,因此它无法执行该操作并且随后不会在断点处停止.

      【讨论】:

        【解决方案4】:

        这也发生在我身上。我注意到在给定的断点处它只会偶尔停止。断点是使用po 将 BOOL 记录到控制台。检查它我注意到它会在 BOOL 为 1 时停止,它会停止并附加到日志[no Objective-C description available]。将其更改为阻止无描述可用“错误”的内容会导致自动继续。

        所以现在我正在使用类似的东西:

        po (NSString *)[NSString stringWithFormat:@"%d", isCenterActive]
        

        不过,可能会有更好、更短的解决方案。

        【讨论】:

          猜你喜欢
          • 2011-06-15
          • 2020-12-30
          • 2018-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-06
          • 2016-05-28
          相关资源
          最近更新 更多