Xcode lldb-如何杀死卡在无限循环中的命令
这个问题很简单,但我似乎在网上的任何地方都找不到答案,这真的令人沮丧 假设我有一个错误代码,我正试图调试:Xcode lldb-如何杀死卡在无限循环中的命令,xcode,lldb,Xcode,Lldb,这个问题很简单,但我似乎在网上的任何地方都找不到答案,这真的令人沮丧 假设我有一个错误代码,我正试图调试: int myBug() { while(1); return 0; } 如果我用LLDB调试它并键入PrintMyBug,我就不会得到任何结果,也不会有任何意外。然而,这意味着我不能再调试了,因为LLDB被卡住了,无法继续。有没有办法杀死printmybug命令?到目前为止,唯一的解决办法是退出并重新启动一切——这远远不够方便 我在Xcode 4.6.1中使用了LLDB,
int myBug()
{
while(1);
return 0;
}
如果我用LLDB调试它并键入PrintMyBug,我就不会得到任何结果,也不会有任何意外。然而,这意味着我不能再调试了,因为LLDB被卡住了,无法继续。有没有办法杀死printmybug命令?到目前为止,唯一的解决办法是退出并重新启动一切——这远远不够方便
我在Xcode 4.6.1中使用了LLDB,我尝试了很多按键,比如Ctrl+C、Ctrl+T,但似乎都不起作用:是的,在Xcode中没有一种简单的方法可以中断这个表达式的计算。如果您使用的是命令行lldb,那么control-C将按预期工作。您可以向进程发送一个信号killall-INT-appname。您可以给lldb一个表达式计算的超时,以微秒为单位,因此调用myBug的5秒超时看起来像
(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)
如果这是您的工作流程中出现的问题,您可以在Xcode上提交有关此问题的错误报告。是的,在Xcode中没有一种简单的方法可以中断此表达式计算。如果您使用的是命令行lldb,那么control-C将按预期工作。您可以向进程发送一个信号killall-INT-appname。您可以给lldb一个表达式计算的超时,以微秒为单位,因此调用myBug的5秒超时看起来像
(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)
如果您的工作流中出现了此问题,您可以在Xcode上提交有关此问题的错误报告。我刚刚按下了“暂停”按钮。@H2CO3:尝试过,无效。@HotLicks没有“暂停”按钮。只有一个播放按钮,点击它绝对没有任何作用。如果它是一个播放按钮,那么您的代码已经停止。作为一种解决方法,您可以使用活动监视器或使用终端,使用kill-3 pid退出该进程。我只点击了暂停按钮。@H2CO3:尝试过,不起作用。@HotLicks没有暂停按钮。只有一个播放按钮并点击它绝对没有任何作用。如果它是一个播放按钮,那么您的代码已经停止。作为一种解决方法,您可以使用活动监视器或使用终端,使用kill-3 pid退出进程。