блок вывода отлаженной программы (gdb) - PullRequest
5 голосов
/ 05 марта 2010

У меня есть программа, и я хочу отладить ее в GDB.

Увижу ли я обычный вывод программы? Как я могу включить / отключить этот вывод, оставив только сообщения GDB.

Ответы [ 4 ]

6 голосов
/ 05 марта 2010

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

(gdb) run > somefile.txt

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

(gdb) tty /dev/ttyb
5 голосов
/ 05 марта 2010

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

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

(gdb) run > /dev/null
2 голосов

Игнорировать stdout и stderr

run &>/dev/null

Аналогично синтаксису Bash.

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

2 голосов
/ 20 февраля 2013

Если вы просто хотите видеть вывод программы при ее прохождении без вывода 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" sleep $ delay done

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...