2010-03-05 16 views

Répondre

6

Vous pouvez rediriger la sortie de l'intérieur gdb:

(gdb) run > somefile.txt 

redirigera la sortie standard à Somefile.txt. Vous pouvez également spécifier un terminal pour envoyer la sortie à:

(gdb) tty /dev/ttyb 
5

Oui, vous verrez toutes les sorties de votre programme.

Vous pouvez le désactiver en l'envoyant ailleurs. Par exemple:

(gdb) run > /dev/null 
+0

Pour ignorer également le programme stderr: http://stackoverflow.com/a/35460141/895245 –

2

Si vous voulez juste voir la sortie du programme que vous franchissez sans la sortie de gdb, ce script peut être utile.

#!/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 $" sommeil retard de $ fait

+1

Wat? Où est gdb? Comment l'utiliser? Je voulais juste ce que j'ai demandé, démarrer le programme dans gdb, travailler avec gdb, mais ne pas voir stderr et stdout du programme. – osgx

2

Ignorer stdout et stderr

run &>/dev/null 

Analogue à la syntaxe de Bash.

Testé sur GDB 7.10.

Questions connexes