块调试程序的输出(gdb)

时间:2010-03-05 17:14:12

标签: gdb

我有一个程序,想要在gdb中调试它。

我会看到通常的节目输出吗?如何启用/禁用此输出,仅保留gdb消息。

4 个答案:

答案 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上测试。