Я не очень разбираюсь в Unix / Linux, я использую Rhat Linux с оболочками sh, tcsh.
Я пытаюсь отлаживать жизненный цикл объекта класса, ломая его по умолчанию, копируя c-tors, d-tor и on operator =; Операции перемещения не определены ни компилятором, ни мной. Я ломаю эти функции и печатаю несколько строк, а также печатаю обратную трассировку
br /project/src/some_file.c:408
commands
silent
printf "<%p> D E F A U L T c-tor bt:\n", this
bt
cont
end
Дело в том, что объектов этого класса очень много, поэтому выводов много, и ничто не помогает мне отключить вывод на терминал, поэтому я хочу видеть вывод gdb только в файле, а не в оболочке. Можно ли добиться с помощью sh или tcsh? — Я не могу реально воздействовать на окружающую среду и использовать какой-либо другой отладчик или оболочку. Причина, по которой я хочу отключить любой вывод из gdb и процесса, отлаживаемого в оболочку, заключается в том, что я считаю, что это замедляет работу gdb и выполнение отлаженного процесса, что нарушает поведение отлаживаемого приложения.
Использование GDB 8.1. Я попытался протоколировать параметры GDB, перенаправив вывод
run > somefile
и я попытался запустить GDB, как это
gdb -p 1000 -x breakpoint.txt | tee somefile.txt
Спасибо много раз!
эта ссылка имеет различные опции для входа
http://sourceware.org/gdb/onlinedocs/gdb/Logging-Output.html
простой
set logging file file
Измените имя текущего файла журнала. Файл журнала по умолчанию — gdb.txt.
затем
set logging on
Включить ведение журнала.
Других решений пока нет …