Merge remote-tracking branch 'origin/GP-6257_d-millar_search_memory'

This commit is contained in:
Ryan Kurtz
2025-12-22 11:06:21 -05:00

View File

@@ -39,14 +39,15 @@ public enum DebuggerSearchRegionFactory {
return set; return set;
} }
}, },
VALID("Valid Addresses", """ READABLE("Readable Addresses", """
Searches listed memory regions in the space.""") { Searches listed regions marked as readable in the space.""") {
@Override @Override
AddressSetView getAddresses(AddressSpace space, Program program) { AddressSetView getAddresses(AddressSpace space, Program program) {
AddressSet set = new AddressSet(); AddressSet set = new AddressSet();
for (MemoryBlock block : program.getMemory().getBlocks()) { for (MemoryBlock block : program.getMemory().getBlocks()) {
if (space == null || space == block.getStart().getAddressSpace()) { if (block.isRead() &&
(space == null || space == block.getStart().getAddressSpace())) {
set.add(block.getAddressRange()); set.add(block.getAddressRange());
} }
} }
@@ -72,6 +73,21 @@ public enum DebuggerSearchRegionFactory {
} }
return set; return set;
} }
},
EXECUTABLE("Executable Addresses", """
Searches listed regions marked as executable in the space.""") {
@Override
AddressSetView getAddresses(AddressSpace space, Program program) {
AddressSet set = new AddressSet();
for (MemoryBlock block : program.getMemory().getBlocks()) {
if (block.isExecute() &&
(space == null || space == block.getStart().getAddressSpace())) {
set.add(block.getAddressRange());
}
}
return set;
}
}; };
public static final List<DebuggerSearchRegionFactory> ALL = List.of(values()); public static final List<DebuggerSearchRegionFactory> ALL = List.of(values());