我在调试 segfaulting 程序时遇到了麻烦,因为我需要的是 segfault 之前的输出,但是如果我将输出通过管道传输到文件,这就会丢失。根据这个答案:https://unix.stackexchange.com/a/17339/22615,这是因为程序的输出缓冲区在连接到终端时会立即刷新,但仅在连接到管道时才会在某些点刷新。这里有几个问题:
程序如何确定其标准输出连接到什么?
“脚本”命令如何产生与程序写入终端时相同的行为?
这可以在没有脚本命令的情况下实现吗?
我在调试 segfaulting 程序时遇到了麻烦,因为我需要的是 segfault 之前的输出,但是如果我将输出通过管道传输到文件,这就会丢失。根据这个答案:https://unix.stackexchange.com/a/17339/22615,这是因为程序的输出缓冲区在连接到终端时会立即刷新,但仅在连接到管道时才会在某些点刷新。这里有几个问题:
程序如何确定其标准输出连接到什么?
“脚本”命令如何产生与程序写入终端时相同的行为?
这可以在没有脚本命令的情况下实现吗?