2014-03-29 5 views
0

Я хотел бы записать вывод команды GDB в файл журнала.Предоставление уникальных имен для ведения журналов GDB в скрипте

Это делается с помощью следующей команды:

set logging file outfulfile.txt 

Но вместо простого outfulfile.txt, я хотел бы дать уникальное имя файла; например outfulfile-PID.txt. Это потому, что у меня будет несколько процессов, одновременно создающих вывод, и я хочу, чтобы каждый из них регистрировался в своем уникальном файле.

Как я могу программно получить такое имя файла в сценарии GDB?

ответ

1

Существует несколько способов.

Один относительно простой способ - использовать команду «eval» gdb. Он заменяет такие аргументы, как printf, а затем выполняет результат как команду gdb. Это новая команда.

Если у вас нет «eval», у вас могут быть сценарии Python. В этом случае вы можете написать короткий (одна линия) Python скрипт, как:

(gdb) python gdb.execute('set logging file ' + .. your logic here ..) 

Если у вас нет Python сценариев, то ваш GDB действительно старая, и вы должны обновить. Однако вы все равно можете выполнить то, что хотите, просто с некоторыми ужасными циклами, используя «оболочку» и выписывая скрипт, который затем «возвращаете» обратно в gdb. Хотя в этом случае эта техника кажется несколько сложной.

Смежные вопросы