как сделать вывод gdb только в файл - PullRequest
0 голосов
/ 05 июля 2018

Я не очень разбираюсь в Unix / Linux, я использую Rhat Linux с оболочками sh, tcsh. Я пытаюсь отлаживать жизненный цикл объекта класса, ломая его по умолчанию, копируя c-tors, d-tor и on operator =; Операции перемещения не определены ни компилятором, ни мной. Я ломаю эти функции и печатаю несколько строк, а также печатаю backtrace

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

Большое спасибо!

1 Ответ

0 голосов
/ 12 июля 2018

эта ссылка имеет различные опции для входа

http://sourceware.org/gdb/onlinedocs/gdb/Logging-Output.html

простой -

set logging file file

Изменить имя текущего файла журнала. Файл журнала по умолчанию - gdb.txt.

1011 * тогда *

set logging on

Включить ведение журнала.

...