无法让lldb通过重定向读取文件输入

标签 c macos stdin lldb

我正在使用 lldb 作为 OSX 中的独立调试器。我正在尝试通过重定向使用文本文件作为输入来调试 C 可执行文件。 lldb 文档指定了以下用于将标准输入更改为给定文件的命令:

process launch -i <file>

使用这个命令,lldb 似乎忽略了指定的文件,而是等待键盘输入。

这是有意为之的行为吗?如果是这样的话;我需要做什么才能真正让进程对我想要的输入文件进行操作?

tl;dr:我如何让 lldb 模仿标准终端执行,重定向如下:

./executable < <file>

最佳答案

我让它按如下方式工作:

lldb <executable>
(lldb) settings set target.input-path <file>
(lldb) process launch

它解决了我的问题,但我并没有真正解释为什么我的问题中的方法不起作用

关于无法让lldb通过重定向读取文件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35582881/

相关文章:

c - *(arr -1) 和 arr[-1] 一样吗?

xcode - NSImageView 子类不显示图像

c - 为什么 CTRL-D 没有用这个程序发出 EOF 信号?

c - Linux 中另一个进程的重复文件描述符(没有 sendmsg)

c - AVR 模拟器中的意外指针重新分配

c - .exe 中嵌入的二进制资源以及加载时的内存管理

c - 如何以编程方式获取 OS X 上给定 PID 的打开文件描述符列表?

swift - 禁用所有元素的表格 View

php - 从 PHP 脚本将数据传递给 Python Web 爬虫

c - Scanf/Printf双变量C