Сценарии GDB - выполнять команду, только если не отлаживать основной файл
Я добавляю некоторые функции, которые я считаю полезными для моего сценария запуска GDB. Некоторые из команд запуска применяются только к "живым" целям или имеют компоненты, которые имеют смысл только для "живых" целей. Я хотел бы иметь возможность проверить наличие (или отсутствие) основного файла и пропустить или изменить эти команды в зависимости от ситуации.
Я посмотрел в Python API, но не смог найти ничего, что бы указывало на то, является ли подчиненный файл core или живая программа. Я в порядке с решением для сценариев, которое работает либо в самом GDB, либо в интерфейсе сценариев Python GDB.
2 ответа
Не похоже, что есть способ сделать это.
Я ожидаю, что атрибут на gdb.Inferior
, но нет ни одного.
Подать запрос на добавление функции в GDB bugzilla.
info proc status
возвращается
"unable to handle request"
для основных файлов, тогда как для живого процесса он возвращает несколько строк, первая из которых выглядит так:
"process 1234"
.
Вы можете запустить эту команду и сравнить ее первую строку вывода с этой строкой, используя
execute_output()
отсюда: https://github.com/crossbowerbt/GDB-Python-Utils/blob/master/gdb_utils.py