我试图通过TCL“ exec”命令执行二进制文件(由C代码生成)。执行一些代码并输出一些输出后,此二进制文件将引发异常。我想查看那些由二进制打印的错误消息,但是在删除换行符后,所有错误消息都变成一行。
我已经在exec命令中尝试过-keepnewline和-ignorestderr开关,但无济于事。
这就是我执行二进制文件的方式 执行abc.out 我试过了 exec -keepnewline -ignorestderr abc.out
C文件(从中生成二进制文件)包含大约100个printf语句,每个语句后跟换行符。但是exec会删除所有换行符,并且所有100行都排成一行。我猜所有消息都将变为标准错误,同时删除换行符,但不确定。有没有一种方法可以让我在不同的行中显示所有消息。
答案 0 :(得分:0)
您可能希望将子进程的stdout
和stderr
重定向到父(Tcl)进程:
exec >@ stdout 2>@ stderr abc.out