Я разрабатываю плагин asm для radare2. Я реализовал функцию дизассемблирования, поэтому она возвращает дизассемблированную инструкцию, используя:
r_strbuf_set (&op->buf_asm, line);
Теперь, когда я установил asm.arch
в моей новой архитектуре, я могу видеть содержимое строковой переменной, набрав pd
. Однако перед печатью дизассемблированной программы я получаю кучу предупреждений:
WARNING: r_reg_get: assertion 'reg && name' failed (line 296)
Это происходит после завершения моей функции дизассемблирования, для каждой инструкции, обработанной моим кодом. Что может быть источником такой ошибки? Кажется, это не связано со структурой кода операции, я заполняю и скорее отношусь к именам регистров. Требуется ли реализация анального плагина, в дополнение к плагину asm? Обычно я вижу, что оба доступны для поддерживаемых архитектур.