Отладка плагина 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
После этого (возможно, вам придется просто дать ему поработать хоть раз) загрузка символов и пошаговое выполнение плагина работают без проблем.