#session #save #gdb #command #breakpoints
#сеанс #Сохранить #gdb #команда #точки останова
Вопрос:
Мы можем использовать .gdbinit или командный файл для запуска gdb с предварительно установленными командами и определениями макросов. Но мой случай в:
Я запустил gdb и определил несколько «точек останова», «команд», «определяет», как сохранить эту информацию о сеансе отладки в файл (либо .gdbinit, либо файл commands) с помощью команды gdb? Я не хочу отслеживать историю команд gdb и копировать-вставлять все эти типы.
Поддерживает ли это gdb? Спасибо.
Ответ №1:
Вы можете использовать функцию ведения журнала GDB. Ниже указанные параметры доступны в документации GDB.
https://sourceware.org/gdb/current/onlinedocs/gdb/Logging-Output.html#Logging-Output
set logging on
Enable logging.
set logging off
Disable logging.
set logging file file
Change the name of the current logfile. The default logfile is gdb.txt.
set logging overwrite [on|off]
By default, gdb will append to the logfile. Set overwrite if you want set logging on to overwrite the logfile instead.
set logging redirect [on|off]
By default, gdb output will go to both the terminal and the logfile. Set redirect if you want output to go only to the log file.
show logging
Show the current values of the logging settings.
Комментарии:
1. В журнале регистрируются выходные данные команд gdb, но не сами команды.
Ответ №2:
Вы можете сделать это частично из gdb, но в остальном вы немного предоставлены сами себе.
То, что вы можете сделать, это сохранить точки останова. Это просто:
(gdb) save breakpoints /tmp/whatever-file
К сожалению, в настоящее время нет способа сохранить define
— для этого есть ошибка gdb.
Единственное, что вы можете сделать в этом случае, это использовать show user
, чтобы найти свою команду, затем вырезать и вставить ее в файл. Или, может быть, можно реализовать гипотетическое save user
из Python.