В настоящее время я использую lldb-3.9 на Raspberry Pi Model 3B, и я пытаюсь записать значения в V-регистры в AArch64, но у меня возникают проблемы с этим. Используя register read v0
, я могу получить результат v0 = {0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f
.
Однако, когда я пытаюсь использовать точную строку для обратной записи в v0, используя register write v0 "{0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f}"
, я получаю сообщение об ошибке "error: Failed to write register 'v0' with value "{0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f 0x2f}"
Я также приложил изображение, изображающее проблемы, с которыми я сталкиваюсь.
Я использовал тот же метод для регистра XMM x86_64, и он работает, но я озадачен, поскольку это не работает для V-регистров в AArch64. Это связанный с StackOverflow, который я опубликовал в отношении регистров XMM. Как записать в регистры XMM в LLDB .
Мне бы очень хотелось узнать, как я могу записывать в V-регистры в AArch64 и, возможно, каким образом использовать LLDB Python API, так как я сейчас использую функцию SetValueFromCString () для установки значений для векторных регистров.