与终端中的 运行 grep 2.26 相比,使用 LLDB 调试 grep 2.26 会导致不同的输出

Debugging grep 2.26 with LLDB causes difference output compared to running grep 2.26 in terminal

我正在为我工​​作的公司调试 grep 2.26 的补丁版本。我的问题是,为什么 运行ning grep 通过 LLDB 或 GDB 使用相同的参数 "grep -c root /etc/passwd" 与仅 运行ning grep 和终端中的参数相比,我会得到不同的输出?

来自终端的结果:

3

结果来自 LLDB/Xcode

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

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

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