如何让LLDB在成功时退出,在失败时等待

How to make LLDB quit on success, wait on failure?

本文关键字:退出 失败 等待 成功 LLDB      更新时间:2023-10-16

这是的Clang版本

  • 是否让gdb在成功终止时自动退出
  • 如果程序成功,如何让gdb退出,如果程序崩溃,如何让它中断

通过编程多次运行我的应用程序,在大量可能的输入上,我偶尔会遇到分段错误。

我希望每个测试调用都在lldb下运行,这样我就可以获得用于进一步调试的回溯。如果调用在没有崩溃的情况下退出,我希望lldb自动退出,以便测试工具进入下一次迭代。这样,我就可以在午餐时间把整件事都安排好,只有在发生故障时才能让套房中断。

在所有情况下,lldb都会自动退出,但如果程序崩溃,则首先打印回溯。

我目前至少能够自动执行最初的run命令:

lldb -o run -f $CMD -- $ARGS

我很难找到在线命令引用,但看起来-batch命令行选项将为您提供基本的"成功退出/失败提示"行为。

对于回溯失败时自动退出,我认为您需要--source-on-crash选项。。。

-K <filename>  
--source-on-crash <filename>  
When in batch mode, tells the debugger to source this file of lldb
commands if the target crashes.

因此,使用以下内容创建命令文件:。。。

echo -e 'btnquit' > lldb.batch

然后调用为…

lldb --batch -K lldb.batch -o run -f $CMD -- $ARGS
相关文章: