首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不需要用户输入的LLDB重新启动过程

问不需要用户输入的LLDB重新启动过程
EN

Stack Overflow用户
提问于 2015-06-03 16:17:22
回答 1查看 3.1K关注 0票数 4

我试图在LLDB中调试一个并发程序,并得到一个seg错误,但并不是每次执行都有错误。我想一遍又一遍地运行我的过程,直到它遇到了一个seg错误。到目前为止,我有以下几点:

代码语言:javascript
复制
b exit
breakpoint com add 1
Enter your debugger command(s).  Type 'DONE' to end.
> run 
> DONE

我觉得恼人的部分是,当我到达exit函数并命中我的断点时,当执行run命令时,我从LLDB得到以下提示:

代码语言:javascript
复制
There is a running process, kill it and restart?: [Y/n] 

我想自动重新启动进程,而不必每次都手动输入Y。有人知道怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-03 19:27:35

您可以使用kill (不提示符)手动杀死前一个实例,然后run命令也不会提示。

或者:

代码语言:javascript
复制
(lldb) settings set auto-confirm 1

将为所有lldb查询提供默认(大写)答案。

如果您有Xcode 6.x (或当前的TOT svn lldb),则可以使用lldb驱动程序的批处理模式:

代码语言:javascript
复制
$ lldb --help
...
       -b 
       --batch 
            Tells the debugger to running the commands from -s, -S, -o & -O,
            and then quit.  However if any run command stopped due to a signal
            or crash, the debugger will return to the interactive prompt at the
            place of the crash.

因此,例如,您可以在shell中编写脚本,运行:

lldb -b -o运行

在循环中,如果运行以崩溃而不是正常的出口结束,这将停止。在某些情况下,这可能更容易做到。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30625511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档