从Xcode 5.1 Project中删除所有调试表达式

时间:2014-08-13 19:02:21

标签: c++ xcode

我在使用C ++和XCode 5.1时偶然添加了一个调试表达式,现在每次我尝试查看我添加此表达式的函数堆栈时,XCode崩溃了。我不知道如何在不点击该功能的情况下摆脱这个表达,所以我有点迷失!我找到了对Expressions.something文件的引用,但那是针对XCode 4的,我不会在XCode 5的任何地方看到它。有什么想法吗?

1 个答案:

答案 0 :(得分:18)

这是你如何做到的:

1)关闭Xcode。

2)在Finder中,右键单击您的Xcode项目并选择“显示包装内容”,然后在需要时继续导航并打开包装内容:

<强> [your_workspace] .xcworkspace / xcuserdata / [login_user_name] .xcuserdatad / xcdebugger / Expressions.xcexplist

3)删除Expressions.xcexplist文件。

4)打开Xcode。

您现在应该没有为此项目设置表达式。

有关此文件的一些有趣注意事项需要进行编辑:

  • 它是一种plist类型结构,因此您可以将其打开为XML / text。
  • 您可以手动删除作用域表达式的各个部分。
  • <ContextState contextName="GLOBAL">包含在某些情况下可能导致Xcode减速的所有全局表达式,即。无约束的C ++容器(没有明确的大小)必须在每个堆栈帧上下文中进行评估,例如std::list<>。如果您使用C ++ - 您可能知道在执行每个调试器步骤时Xcode UI锁定的痛苦。这就是我首先找到这个问题的原因。
  • 其他<ContextState>部分包含装饰的函数名称,其中包含该堆栈帧上下文的表达式。