Xcode 与在终端中运行grep2.26相比,使用LLDB调试grep2.26会导致不同的输出

Xcode 与在终端中运行grep2.26相比,使用LLDB调试grep2.26会导致不同的输出,xcode,debugging,grep,lldb,Xcode,Debugging,Grep,Lldb,我正在为我工作的公司调试一个修补版的grep2.26。我的问题是,与仅在terminal中运行grep和argument相比,在LLDB或GDB中使用相同的参数“grep-c root/etc/passwd”运行grep时,为什么会得到不同的输出 来自终端的结果: 三, 来自LLDB/Xcode的结果 root::0:0:系统管理员:/var/root:/bin/sh 守护进程::1:1:系统服务:/var/root:/usr/bin/false _CVMS根:*:212:212:CVMS根:/

我正在为我工作的公司调试一个修补版的grep2.26。我的问题是,与仅在terminal中运行grep和argument相比,在LLDB或GDB中使用相同的参数“grep-c root/etc/passwd”运行grep时,为什么会得到不同的输出

来自终端的结果:

三,

来自LLDB/Xcode的结果

root::0:0:系统管理员:/var/root:/bin/sh 守护进程::1:1:系统服务:/var/root:/usr/bin/false _CVMS根:*:212:212:CVMS根:/var/empty:/usr/bin/false 程序以退出代码结束:0

我认为我没有正确地设置它,但是当运行GDB/Netbeans时,我得到了相同的结果。任何想法都将不胜感激。 干杯

解决方案。 出现问题的原因是,在终端中调用的命令指向的是/usr/bin/grep实例,而不是我以为正在调用的目录。 要从我的目录中调用grep,我需要使用。/grep。。。现在它与调试环境相匹配。 干杯

解决方案。 出现问题的原因是,在终端中调用的命令指向的是/usr/bin/grep实例,而不是我以为正在调用的目录。 要从我的目录中调用grep,我需要使用。/grep。。。现在它与调试环境相匹配。
Cheers

看起来
-c
参数没有传递给
grep
。您使用什么方法告诉lldb和gdb他们应该给
grep
的参数?通过终端无调试:$grep-c root/etc/passwd 3终端上的lldb(lldb)r-c root/etc/passwd进程3175启动:'./src/grep'(x86_64)参数:-c root:::0:0:System Administrator:/var/root:/bin/sh守护进程:::1:1:System Services:/var/root:/usr/bin/false(如果我是grep-c root/etc/passwd),它会给出一个错误:root不是文件或目录。为选项变量添加的打印语句,以确保参数被识别。看起来
-c
参数没有被传递到
grep
。您使用什么方法告诉lldb和gdb他们应该给
grep
的参数?通过终端无调试:$grep-c root/etc/passwd 3终端上的lldb(lldb)r-c root/etc/passwd进程3175启动:'./src/grep'(x86_64)参数:-c root:::0:0:System Administrator:/var/root:/bin/sh守护进程:::1:1:System Services:/var/root:/usr/bin/false(如果我是grep-c root/etc/passwd),它会给出一个错误:root不是文件或目录。为选项变量添加了Print语句,以确保参数被识别。