GP-1543: Replace Range<Long> with Lifespan, ULongSpan, KeySpan,

FieldSpan
This commit is contained in:
Dan 2022-10-20 09:38:55 -04:00
parent d0b55e1d33
commit 776413921f
349 changed files with 6102 additions and 4225 deletions

View file

@ -16,8 +16,6 @@
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import com.google.common.collect.Range;
import agent.dbgeng.manager.impl.DbgManagerImpl;
import agent.dbgeng.model.AbstractDbgModel;
import ghidra.app.script.GhidraScript;
@ -26,6 +24,7 @@ import ghidra.app.services.DebuggerTraceManagerService;
import ghidra.dbg.DebuggerObjectModel;
import ghidra.program.model.address.*;
import ghidra.program.model.lang.Language;
import ghidra.trace.model.Lifespan;
import ghidra.trace.model.Trace;
import ghidra.trace.model.memory.*;
import ghidra.util.LockHold;
@ -147,7 +146,7 @@ public class BangAddressToMemory extends GhidraScript {
AddressRange rng = rng(start, end - 1);
try {
TraceMemoryRegion region =
memory.addRegion(startStr, Range.atLeast(0L), rng, TraceMemoryFlag.READ,
memory.addRegion(startStr, Lifespan.nowOn(0), rng, TraceMemoryFlag.READ,
TraceMemoryFlag.WRITE, TraceMemoryFlag.EXECUTE);
region.setName(name);
}

View file

@ -31,7 +31,6 @@
import java.io.File;
import java.util.*;
import com.google.common.collect.Range;
import com.sun.jna.Pointer;
import agent.dbgeng.dbgeng.DebugClient;
@ -46,6 +45,7 @@ import ghidra.app.script.GhidraScript;
import ghidra.program.model.address.*;
import ghidra.program.model.lang.Language;
import ghidra.program.model.lang.Register;
import ghidra.trace.model.Lifespan;
import ghidra.trace.model.memory.TraceMemoryFlag;
import ghidra.util.Swing;
@ -144,7 +144,7 @@ public class PopulateMemviewLocal extends GhidraScript {
Long start = (Long) address.getValue();
Long sz = (Long) size.getValue();
AddressRange rng = rng(start, start + sz - 1);
addLoadedModule(moduleId, moduleId, Range.atLeast(snap), rng);
addLoadedModule(moduleId, moduleId, Lifespan.nowOn(snap), rng);
//addRegion(moduleId, Range.atLeast(snap), rng, TraceMemoryFlag.READ,
// TraceMemoryFlag.WRITE, TraceMemoryFlag.EXECUTE);
}
@ -161,7 +161,7 @@ public class PopulateMemviewLocal extends GhidraScript {
AddressRange rng = rng(iid, iid + 1);
display += " " + threadId;
if (display.contains("ThreadCreated")) {
addThread("Thread " + threadId, Range.atLeast(snap), rng);
addThread("Thread " + threadId, Lifespan.nowOn(snap), rng);
}
else {
markThreadClosed(threadId, snap);
@ -212,8 +212,8 @@ public class PopulateMemviewLocal extends GhidraScript {
String heapId = "Heap " + address.getValueString();
Long startTick = (Long) timeStart.getValue();
Long stopTick = (Long) timeEnd.getValue();
Range<Long> interval =
(stopTick > 0) ? Range.open(startTick, stopTick) : Range.atLeast(startTick);
Lifespan interval =
(stopTick > 0) ? Lifespan.span(startTick, stopTick) : Lifespan.nowOn(startTick);
addHeap(heapId, interval, rng, TraceMemoryFlag.READ, TraceMemoryFlag.WRITE,
TraceMemoryFlag.EXECUTE);
}
@ -237,24 +237,24 @@ public class PopulateMemviewLocal extends GhidraScript {
});
}
private void addHeap(String heapId, Range<Long> interval, AddressRange rng,
private void addHeap(String heapId, Lifespan interval, AddressRange rng,
TraceMemoryFlag read, TraceMemoryFlag write, TraceMemoryFlag execute) {
MemoryBox box = new MemoryBox(heapId, MemviewBoxType.HEAP_CREATE, rng, interval);
boxes.put(box.getId(), box);
}
private void addThread(String threadId, Range<Long> interval, AddressRange rng) {
private void addThread(String threadId, Lifespan interval, AddressRange rng) {
MemoryBox box = new MemoryBox(threadId, MemviewBoxType.THREAD, rng, interval);
boxes.put(box.getId(), box);
}
private void addRegion(String regionId, Range<Long> interval, AddressRange rng,
private void addRegion(String regionId, Lifespan interval, AddressRange rng,
TraceMemoryFlag read, TraceMemoryFlag write, TraceMemoryFlag execute) {
MemoryBox box = new MemoryBox(regionId, MemviewBoxType.IMAGE, rng, interval);
boxes.put(box.getId(), box);
}
private void addLoadedModule(String moduleId, String moduleId2, Range<Long> interval,
private void addLoadedModule(String moduleId, String moduleId2, Lifespan interval,
AddressRange rng) {
MemoryBox box = new MemoryBox(moduleId, MemviewBoxType.MODULE, rng, interval);
boxes.put(box.getId(), box);

View file

@ -19,8 +19,6 @@ import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.*;
import com.google.common.collect.Range;
import agent.dbgeng.dbgeng.DebugClient;
import agent.dbgeng.dbgeng.DebugControl;
import agent.dbgmodel.dbgmodel.DbgModel;
@ -32,6 +30,7 @@ import ghidra.app.services.DebuggerTraceManagerService;
import ghidra.program.model.address.*;
import ghidra.program.model.lang.*;
import ghidra.trace.database.DBTrace;
import ghidra.trace.model.Lifespan;
import ghidra.trace.model.Trace;
import ghidra.trace.model.memory.*;
import ghidra.trace.model.modules.TraceModule;
@ -226,7 +225,7 @@ public class PopulateTraceLocal extends GhidraScript {
buf = ByteBuffer.allocate(sz.intValue()).order(ByteOrder.LITTLE_ENDIAN);
AddressRange rng = rng(start, start + sz - 1);
modules.addLoadedModule(moduleId, moduleId, rng, snap);
memory.addRegion(moduleId, Range.atLeast(snap), rng,
memory.addRegion(moduleId, Lifespan.nowOn(snap), rng,
TraceMemoryFlag.READ, TraceMemoryFlag.WRITE, TraceMemoryFlag.EXECUTE);
try {
int read =
@ -261,7 +260,7 @@ public class PopulateTraceLocal extends GhidraScript {
String threadId = id.getValueString();
display += " " + threadId;
if (display.contains("ThreadCreated")) {
threads.addThread(threadId, Range.atLeast(snap));
threads.addThread(threadId, Lifespan.nowOn(snap));
}
else {
if (snap >= 0) {