调试程序(gdb)的块输出

问题描述:

我有一个程序,并希望在gdb中进行调试。调试程序(gdb)的块输出

我会看到通常的程序输出吗?我如何启用/禁用此输出,只留下gdb消息。

您可以从GDB中重定向输出:

(gdb) run > somefile.txt 

将标准输出重定向到somefile.txt。您还可以指定一个终端输出发送到:

(gdb) tty /dev/ttyb 

是的,你会看到你的程序的所有输出。

您可以通过在别处发送它来禁用此功能。例如:

(gdb) run > /dev/null 
+0

也忽略程序stderr:http://stackoverflow.com/a/35460141/895245 – 2016-02-17 14:58:39

如果你只是想看看该程序的输出,你通过它的步骤,无需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” 睡眠$延迟 做

+1

Wat? gdb在哪里?如何使用这个?我只是想要问什么,在gdb中启动程序,使用gdb工作,但不想查看程序的stderr和stdout。 – osgx 2013-02-20 02:35:45

忽略输出和错误

run &>/dev/null 

类似于Bash的语法。

在GDB 7.10上测试。