Introduce try_write_memory for the memory manager

This commit is contained in:
66hh
2025-12-28 19:36:40 +08:00
parent 020e7ca3f6
commit f95081cb6e
5 changed files with 18 additions and 1 deletions

View File

@@ -264,9 +264,14 @@ namespace icicle
ice(res, "Failed to read memory");
}
bool try_write_memory(const uint64_t address, const void* data, const size_t size) override
{
return icicle_write_memory(this->emu_, address, data, size);
}
void write_memory(const uint64_t address, const void* data, const size_t size) override
{
const auto res = icicle_write_memory(this->emu_, address, data, size);
const auto res = try_write_memory(address, data, size);
ice(res, "Failed to write memory");
}

View File

@@ -380,6 +380,11 @@ namespace unicorn
uce(uc_mem_read(*this, address, data, size));
}
bool try_write_memory(const uint64_t address, const void* data, const size_t size) override
{
return uc_mem_write(*this, address, data, size) == UC_ERR_OK;
}
void write_memory(const uint64_t address, const void* data, const size_t size) override
{
uce(uc_mem_write(*this, address, data, size));