GDB + Python: определение типа цели - PullRequest
2 голосов
/ 22 сентября 2011

Есть ли способ определить, является ли отлаживаемая цель дампом ядра или «живым» процессом?

1 Ответ

3 голосов
/ 22 сентября 2011

Насколько я знаю, в Python нет специального способа сделать это, однако вы все равно можете использовать

  • gdb.execute("<command>", to_string=<boolean>) для выполнения команды "CLI" в Python, где to_string, являясь True, сообщит GDB, что нужно собрать выходные данные и вернуть их в виде строки (ср. doc )

  • maint print target-stack, который напечатает слои, используемые внутри для доступа к подчиненному. Вы должны увидеть «core (Local core dump file)», если активен уровень отладки ядра.

В общем, немного кода вроде

out = gdb.execute("maint print target-stack", to_string=True)
print "Local core dump file" in out

должен сделать трюк.

...