Отладка плагина gcc

В настоящее время я пишу плагин для gcc (9.2) и ищу способ отладить этот плагин. Для этого я построил gcc, используя эти инструкции, чтобы включить символы отладки для gcc. Затем я пытаюсь отладить плагин, вызывая gcc внутри gdb с помощью следующей команды:

./xg++ -wrapper gdb,-args -fplugin= имя_плагина.so

В результате я могу пройти через сам gcc, увидев его символы. Однако я не могу получить доступ к символам плагинов. Плагин компилируется с флагом -g.

Что мне нужно сделать, чтобы пройтись по коду плагина?

1 ответ

Решение

Я нашел решение:

g++ (или xg++ в данном случае) - это просто драйвер, который вызывает несколько инструментов компиляции, включая сам процесс компилятора cc1plus. Итак, чтобы убедиться, что gdb подключен к этому процессу, необходимо установить в gdb следующие параметры:

set follow-fork-mode child

После этого (возможно, вам придется просто дать ему поработать хоть раз) загрузка символов и пошаговое выполнение плагина работают без проблем.

Другие вопросы по тегам