与终端中的 运行 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 ... 现在它与调试环境相匹配。
干杯
我正在为我工作的公司调试 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 ... 现在它与调试环境相匹配。 干杯