我有一个程序,想要在gdb中调试它。
我会看到通常的节目输出吗?如何启用/禁用此输出,仅保留gdb消息。
答案 0 :(得分:6)
您可以从gdb中重定向输出:
(gdb) run > somefile.txt
将标准输出重定向到somefile.txt。您还可以指定将输出发送到的终端:
(gdb) tty /dev/ttyb
答案 1 :(得分:5)
是的,您将看到程序的所有输出。
您可以通过将其发送到其他地方来禁用此功能。例如:
(gdb) run > /dev/null
答案 2 :(得分:2)
如果您只想在没有gdb输出的情况下逐步查看程序的输出,则此脚本非常有用。
#!/bin/bash
file=$1
delay=1 #seconds
lastTime=`stat --printf=%y "$file"`
while [ 1 ]
do
thisTime=`stat --printf=%y "$file"`
if [ "$thisTime" != "$lastTime" ]
then
clear
cat "$file"
fi
lastTime="$thisTime"
sleep $delay
done
lastTime = “$ thisTime” 睡觉$延迟 完成
答案 3 :(得分:2)
忽略stdout和stderr
run &>/dev/null
类似于Bash语法。
在GDB 7.10上测试。