2010-03-05 3 views

ответ

6

Вы можете перенаправить вывод из в БГД:

(gdb) run > somefile.txt 

будет перенаправлять стандартный вывод Somefile.txt. Вы можете также указать терминал для отправки вывода:

(gdb) tty /dev/ttyb 
5

Да, вы увидите все выходные данные вашей программы.

Вы можете отключить это, отправив его в другое место. Например:

(gdb) run > /dev/null 
+0

Также игнорировать программу stderr: http://stackoverflow.com/a/35460141/895245 –

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" сон $ задержка сделано

+1

Wat? Где gdb? Как это использовать? Я хотел только то, что я попросил, запустить программу в gdb, работать с gdb, но не видеть stderr и stdout программы. – osgx

2

Игнорировать стандартный вывод и стандартный поток ошибок

run &>/dev/null 

По аналогии с синтаксисом Bash.

Протестировано на GDB 7.10.

Смежные вопросы