URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6626
[ Назад ]

Исходное сообщение
"автоматизация gdb"

Отправлено crnz , 25-Июл-07 18:26 
Добрый день.
Можно ли как то внутри gdb автоматизировать действия, например пробежаться по всем потокам и вывести те из них у которых в стеке вызовов (backtrace) есть определенная функция?

Содержание

Сообщения в этом обсуждении
"автоматизация gdb"
Отправлено Андрей , 25-Июл-07 21:30 
gdb -x command_file

"автоматизация gdb"
Отправлено crnz , 26-Июл-07 08:50 
>gdb -x command_file

это то понятно
а вот как в command_file организовать цикл по всем потокам - непонятно...


"автоматизация gdb"
Отправлено Ray Dudu , 26-Июл-07 12:55 
>Добрый день.
>Можно ли как то внутри gdb автоматизировать действия, например пробежаться по всем
>потокам и вывести те из них у которых в стеке вызовов
>(backtrace) есть определенная функция?

вообще то нужно читать доки по ждб!!!!
а с бектрейсами очень просто: thread apply all bt


"автоматизация gdb"
Отправлено crnz , 26-Июл-07 14:01 
>а с бектрейсами очень просто: thread apply all bt

почти то что нужно, спасибо!
а есть ли способ отобрать только те, у которых в backtrace есть определенная функция?


"автоматизация gdb"
Отправлено anonymous , 27-Июл-07 05:19 
>Добрый день.
>Можно ли как то внутри gdb автоматизировать действия, например пробежаться по всем
>потокам и вывести те из них у которых в стеке вызовов
>(backtrace) есть определенная функция?

из info gdb:

GDB/MI is a line based machine oriented text interface to GDB and is
activated by specifying using the `--interpreter' command line option
(*note Mode Options::).  It is specifically intended to support the
development of systems which use the debugger as just one small
component of a larger system.

то есть придется написать прогу или скрипт (например на перле), который парсит вывод gdb и даёт нужные команды.  Этот интерфейс gdb специально предназначен для внешнего программного управления.


"автоматизация gdb"
Отправлено crnz , 27-Июл-07 12:48 
>GDB/MI is a line based machine oriented text interface to GDB and is
>activated by specifying using the `--interpreter' command line option

вот это - то, что нужно! спасибо!