gpt4 book ai didi

c - 程序只有在没有连接到真实终端时才会崩溃 - 如何调试?

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

我有一个程序崩溃了

segfault at 1 ip 0000000000000001 sp 0000000008077d60 error 14

只要它没有连接到真实的终端,例如./program > log.txt & 会崩溃。正常运行它不会导致这种奇怪的行为。我想看看 gdb 是否可以帮助我找到这个问题的原因,但当然只是在 gdb 中运行它不会触发错误。

然而什么是

echo r | gdb ./program

但是当程序崩溃时gdb会立即退出:

Program received signal SIGSEGV, Segmentation fault.
0x00000001 in ?? ()
(gdb) quit
A debugging session is active.

Inferior 1 [process 15434] will be killed.

Quit anyway? (y or n) [answered Y; input not from terminal]

我试过 echo -e "r\nbt"| gdb 已经,但它的行为不会有任何不同。

最佳答案

只是做:

gdb ./program

进入后,请执行以下操作:

run < log.txt

直接输入您的信息,或者:

run > log.txt

根据需要重定向输出。

关于c - 程序只有在没有连接到真实终端时才会崩溃 - 如何调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602572/

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