简单的问题,但我似乎无法在网上找到答案,这真的令人沮丧.
假设我有这个错误的代码我正在尝试调试:
int myBug()
{
while(1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我用LLDB调试这个并且类型print myBug()我得不到结果,那么(没有惊喜).然而,这意味着我无法再调试,因为LLDB被卡住而不能continue.有没有办法杀死print myBug()命令?到目前为止,唯一的解决方法是退出并重新启动所有内容 - 远非方便.
我在Xcode 4.6.1中使用LLDB,我尝试了一些按键,如Ctrl + C,Ctrl + T,但似乎没有任何工作:(
是的,从Xcode内部来看,没有一种简单的方法来中断这种表达式评估.如果您使用命令行lldb,control-C将按预期工作.您可以向您的流程发送信号killall -INT appname.您可以为表达式评估提供lldb超时,以微秒表示,因此五秒超时调用myBug()看起来像
(lldb) expr -t 5000000 -- myBug()
error: Execution was interrupted, reason: breakpoint 1.1.
The process has been returned to the state before expression evaluation.
(lldb)
Run Code Online (Sandbox Code Playgroud)
如果您的工作流程出现这种情况,可以在http://bugreport.apple.com/上的Xcode上提交有关此内容的错误报告.
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |