我在 OSX 中使用
lldb
作为独立调试器。我正在尝试通过重定向的方式调试 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) process launch -i input_file.txt -- arg1 arg2 arg3 ... argN
根据用户 spinicist 的建议 https://github.com/microsoft/vscode-cpptools/issues/1219。