Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode lldb-如何杀死卡在无限循环中的命令_Xcode_Lldb - Fatal编程技术网

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退出进程。