status_t
LocalDebuggerInterface::GetMemoryProperties(target_addr_t address,
	uint32& protection, uint32& locking)
{
	return get_memory_properties(fTeamID, (const void *)address,
		&protection, &locking);
}
Beispiel #2
0
status_t
RetrieveMemoryBlockJob::Do()
{
    ssize_t result = fTeamMemory->ReadMemory(fMemoryBlock->BaseAddress(),
                     fMemoryBlock->Data(), fMemoryBlock->Size());
    if (result < 0)
        return result;

    uint32 protection = 0;
    uint32 locking = 0;
    status_t error = get_memory_properties(fTeam->ID(),
                                           (const void *)fMemoryBlock->BaseAddress(), &protection, &locking);
    if (error != B_OK)
        return error;

    fMemoryBlock->SetWritable((protection & B_WRITE_AREA) != 0);
    fMemoryBlock->MarkValid();
    return B_OK;
}