gpt4 book ai didi

c - 管道命令时 gdb 不会停止

转载 作者:太空宇宙 更新时间:2023-11-04 00:01:11 25 4
gpt4 key购买 nike

以通常方式运行时,gdb 按预期停止:

(gdb) break main
(gdb) run
Starting program ...
Breakpoint 1, main ...

在管道运行时,gdb 永远不会停止:

(gdb) run | cat
Starting program: /home/sds/z | cat
...
During startup program exited normally.
(gdb)

如何调试管道时的程序行为?

我的设置:

$ gdb --version
GNU gdb (GDB) Amazon Linux (7.6.1-64.33.amzn1)
$ uname -a
Linux datasci-1 4.4.19-29.55.amzn1.x86_64 #1 SMP Mon Aug 29 23:29:40 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ gcc --version
gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9)

在最近完全更新的 ubuntu (16.10) 上也有同样的问题。

最佳答案

虽然输入和输出重定向有效,但您不能使用管道将正在调试的程序的输出传递给另一个程序;如果您尝试这样做,GDB 很可能会调试错误的程序。

https://www.sourceware.org/gdb/onlinedocs/gdb.html

关于c - 管道命令时 gdb 不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42583235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com