gpt4 book ai didi

lldb - 使用 -o 运行命令后如何退出 lldb

转载 作者:行者123 更新时间:2023-12-01 00:57:34 26 4
gpt4 key购买 nike

我想从脚本中运行类似以下命令的内容:

lldb -f /path/to/my/file -o command1 -o command2 ... -o detach

有没有办法在执行后退出lldb而不进入交互模式?传入 -o exit 或 -o quit 失败,并显示“正在中止 after_file 命令执行,命令:'退出'失败。”在有或没有退出/退出的情况下运行上述命令会使终端处于 lldb 提示符处,这会阻止我仅运行此命令并将输出重定向到磁盘上的某个位置。

这样做的最终目标是在某些事情发生时按需获取我的命令的输出。这个平台上没有 Python 解释器,所以这不是一个选项。有什么建议?

最佳答案

这似乎对我有用:

$ xcrun lldb/bin/ls -o "b malloc"-o "run"-o "script import os; os._exit(1)"

(lldb) 目标创建“/bin/ls”

当前可执行文件设置为 '/bin/ls' (x86_64)。

(lldb) b malloc

断点 1:3 个位置。

(lldb) 运行

进程 640 启动:'/bin/ls' (x86_64)

(lldb) 脚本导入操作系统; os._exit(1)

进程 640 停止
* 线程 #1:tid = 0x11033, 0x00007fff9374136b libsystem_malloc.dylib malloc, stop reason = breakpoint 1.2
frame #0: 0x00007fff9374136b libsystem_malloc.dylib
malloc
libsystem_malloc.dylib`malloc:
-> 0x7fff9374136b:pushq %rbp
0x7fff9374136c: movq %rsp, %rbp
0x7fff9374136f:pushq %rbx
0x7fff93741370:pushq %rax

$(回到提示)

这有点恶心,但城堡的关键是:

-o "script import os; os._exit(1)"

sys.exit(1) 不起作用(我们捕获它并阻止它退出 LLDB),但 os._exit() 是一个开放的免费赠品。随意认为这是一个错误。

关于lldb - 使用 -o 运行命令后如何退出 lldb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26267289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com