我在使用C ++和XCode 5.1时偶然添加了一个调试表达式,现在每次我尝试查看我添加此表达式的函数堆栈时,XCode崩溃了。我不知道如何在不点击该功能的情况下摆脱这个表达,所以我有点迷失!我找到了对Expressions.something文件的引用,但那是针对XCode 4的,我不会在XCode 5的任何地方看到它。有什么想法吗?
答案 0 :(得分:18)
这是你如何做到的:
1)关闭Xcode。
2)在Finder中,右键单击您的Xcode项目并选择“显示包装内容”,然后在需要时继续导航并打开包装内容:
<强> [your_workspace] .xcworkspace / xcuserdata / [login_user_name] .xcuserdatad / xcdebugger / Expressions.xcexplist 强>
3)删除Expressions.xcexplist文件。
4)打开Xcode。
您现在应该没有为此项目设置表达式。
有关此文件的一些有趣注意事项需要进行编辑:
<ContextState contextName="GLOBAL">
包含在某些情况下可能导致Xcode减速的所有全局表达式,即。无约束的C ++容器(没有明确的大小)必须在每个堆栈帧上下文中进行评估,例如std::list<>
。如果您使用C ++ - 您可能知道在执行每个调试器步骤时Xcode UI锁定的痛苦。这就是我首先找到这个问题的原因。<ContextState>
部分包含装饰的函数名称,其中包含该堆栈帧上下文的表达式。