我有一个程序崩溃了
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
,但它不会有任何不同。
答案 0 :(得分:3)
只是做:
gdb ./program
一旦你在那里,请执行:
run < log.txt
指向您的输入,或:
run > log.txt
根据需要重定向输出。