Программа трассировки бега с помощью GDB - PullRequest
0 голосов
/ 27 апреля 2020

enter image description here Я пытаюсь понять ход работающей программы, прикрепив ее pid к gdb

sudo gdb -p $pid. Я устанавливаю точки останова в местах и затем начинаю пересылку с next. Но за весь курс моей программы я ни разу не сталкивался с функцией, которая получает привет (чтобы убедиться, что функция получает удар внутри функции, которую я вывел в текст, а затем проверяет, присутствует ли текст в файле или нет). Странная вещь, которая происходит после определенного вызова функции, перенаправляется на мой первый breakpoint.

То, что я пытался: set detach-on-fork off поиск любого работает фоновый процесс info inferior, никто не пытался найти поток, выполняющий какую-либо связанную функцию, но не найден.

1.Проект - ceph / radosgw
2.Api пытается понять - swift -A http://localhost:8000/auth -U test:tester -K testing list
3. Точка останова setOn - rgw_process.cc : rgw_process()
4. Функция, не достигаемая gdb, равна RGWBucketLists::execute()

1 Ответ

0 голосов
/ 28 апреля 2020

Вы можете начать с установки точки останова в rgw_process. cc в методе process_request (), скажем, в точке, где вызывается get_handler (). Затем выполните запрос, эта точка останова будет достигнута, и вы можете начать отслеживать различные методы.

...