У меня есть программа на C, которая (по уважительной причине) выделяет память, копирует в нее некоторый код, использует mprotect(), чтобы дать ей права на выполнение, а затем вызывает этот код. Да, я знаю, что это непереносимо и небезопасно, но есть веская причина. В любом случае, мне нужно выполнить одношаговое выполнение с помощью gdb ассемблерного кода (используя команду si), но он не позволит мне -- он продолжает говорить: "Нет функции, содержащей программный счетчик для выбранного кадра"
Есть ли способ заставить gdb выполнить этот код? Есть ли другой отладчик, который я должен использовать вместо этого для этого типа вещей?
Спасибо!