У меня есть программа и вы хотите ее отладить в gdb.вывод блока отлаженной программы (gdb)
Я увижу обычный выход программы? Как включить или отключить этот вывод, оставив только сообщения gdb.
У меня есть программа и вы хотите ее отладить в gdb.вывод блока отлаженной программы (gdb)
Я увижу обычный выход программы? Как включить или отключить этот вывод, оставив только сообщения gdb.
Вы можете перенаправить вывод из в БГД:
(gdb) run > somefile.txt
будет перенаправлять стандартный вывод Somefile.txt. Вы можете также указать терминал для отправки вывода:
(gdb) tty /dev/ttyb
Да, вы увидите все выходные данные вашей программы.
Вы можете отключить это, отправив его в другое место. Например:
(gdb) run > /dev/null
Если вы просто хотите, чтобы увидеть вывод программы, как вы шаг через него без вывода 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" сон $ задержка сделано
Wat? Где gdb? Как это использовать? Я хотел только то, что я попросил, запустить программу в gdb, работать с gdb, но не видеть stderr и stdout программы. – osgx
Игнорировать стандартный вывод и стандартный поток ошибок
run &>/dev/null
По аналогии с синтаксисом Bash.
Протестировано на GDB 7.10.
Также игнорировать программу stderr: http://stackoverflow.com/a/35460141/895245 –