Added stack pointer to snapshots
This commit is contained in:
@@ -82,6 +82,7 @@ namespace Bloom
|
|||||||
this->memoryType,
|
this->memoryType,
|
||||||
std::move(*this->data),
|
std::move(*this->data),
|
||||||
targetControllerService.getProgramCounter(),
|
targetControllerService.getProgramCounter(),
|
||||||
|
targetControllerService.getStackPointer(),
|
||||||
std::move(this->focusedRegions),
|
std::move(this->focusedRegions),
|
||||||
std::move(this->excludedRegions)
|
std::move(this->excludedRegions)
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ namespace Bloom
|
|||||||
Targets::TargetMemoryType memoryType,
|
Targets::TargetMemoryType memoryType,
|
||||||
const Targets::TargetMemoryBuffer& data,
|
const Targets::TargetMemoryBuffer& data,
|
||||||
Targets::TargetProgramCounter programCounter,
|
Targets::TargetProgramCounter programCounter,
|
||||||
|
Targets::TargetStackPointer stackPointer,
|
||||||
const std::vector<FocusedMemoryRegion>& focusedRegions,
|
const std::vector<FocusedMemoryRegion>& focusedRegions,
|
||||||
const std::vector<ExcludedMemoryRegion>& excludedRegions
|
const std::vector<ExcludedMemoryRegion>& excludedRegions
|
||||||
)
|
)
|
||||||
@@ -22,6 +23,7 @@ namespace Bloom
|
|||||||
, memoryType(memoryType)
|
, memoryType(memoryType)
|
||||||
, data(data)
|
, data(data)
|
||||||
, programCounter(programCounter)
|
, programCounter(programCounter)
|
||||||
|
, stackPointer(stackPointer)
|
||||||
, focusedRegions(focusedRegions)
|
, focusedRegions(focusedRegions)
|
||||||
, excludedRegions(excludedRegions)
|
, excludedRegions(excludedRegions)
|
||||||
{}
|
{}
|
||||||
@@ -36,6 +38,7 @@ namespace Bloom
|
|||||||
|| !jsonObject.contains("memoryType")
|
|| !jsonObject.contains("memoryType")
|
||||||
|| !jsonObject.contains("hexData")
|
|| !jsonObject.contains("hexData")
|
||||||
|| !jsonObject.contains("programCounter")
|
|| !jsonObject.contains("programCounter")
|
||||||
|
|| !jsonObject.contains("stackPointer")
|
||||||
|| !jsonObject.contains("createdTimestamp")
|
|| !jsonObject.contains("createdTimestamp")
|
||||||
|| !jsonObject.contains("focusedRegions")
|
|| !jsonObject.contains("focusedRegions")
|
||||||
|| !jsonObject.contains("excludedRegions")
|
|| !jsonObject.contains("excludedRegions")
|
||||||
@@ -48,6 +51,7 @@ namespace Bloom
|
|||||||
this->description = jsonObject.find("description")->toString();
|
this->description = jsonObject.find("description")->toString();
|
||||||
this->memoryType = EnumToStringMappings::targetMemoryTypes.at(jsonObject.find("memoryType")->toString());
|
this->memoryType = EnumToStringMappings::targetMemoryTypes.at(jsonObject.find("memoryType")->toString());
|
||||||
this->programCounter = static_cast<Targets::TargetProgramCounter>(jsonObject.find("programCounter")->toInteger());
|
this->programCounter = static_cast<Targets::TargetProgramCounter>(jsonObject.find("programCounter")->toInteger());
|
||||||
|
this->stackPointer = static_cast<Targets::TargetStackPointer>(jsonObject.find("stackPointer")->toInteger());
|
||||||
this->createdDate.setSecsSinceEpoch(jsonObject.find("createdTimestamp")->toInteger());
|
this->createdDate.setSecsSinceEpoch(jsonObject.find("createdTimestamp")->toInteger());
|
||||||
|
|
||||||
const auto hexData = QByteArray::fromHex(jsonObject.find("hexData")->toString().toUtf8());
|
const auto hexData = QByteArray::fromHex(jsonObject.find("hexData")->toString().toUtf8());
|
||||||
@@ -97,6 +101,7 @@ namespace Bloom
|
|||||||
static_cast<qsizetype>(this->data.size())
|
static_cast<qsizetype>(this->data.size())
|
||||||
).toHex())},
|
).toHex())},
|
||||||
{"programCounter", static_cast<qint64>(this->programCounter)},
|
{"programCounter", static_cast<qint64>(this->programCounter)},
|
||||||
|
{"stackPointer", static_cast<qint64>(this->stackPointer)},
|
||||||
{"createdTimestamp", this->createdDate.toSecsSinceEpoch()},
|
{"createdTimestamp", this->createdDate.toSecsSinceEpoch()},
|
||||||
{"focusedRegions", focusedRegions},
|
{"focusedRegions", focusedRegions},
|
||||||
{"excludedRegions", excludedRegions},
|
{"excludedRegions", excludedRegions},
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ namespace Bloom
|
|||||||
Targets::TargetMemoryType memoryType;
|
Targets::TargetMemoryType memoryType;
|
||||||
Targets::TargetMemoryBuffer data;
|
Targets::TargetMemoryBuffer data;
|
||||||
Targets::TargetProgramCounter programCounter;
|
Targets::TargetProgramCounter programCounter;
|
||||||
|
Targets::TargetStackPointer stackPointer;
|
||||||
QDateTime createdDate = Services::DateTimeService::currentDateTime();
|
QDateTime createdDate = Services::DateTimeService::currentDateTime();
|
||||||
|
|
||||||
std::vector<FocusedMemoryRegion> focusedRegions;
|
std::vector<FocusedMemoryRegion> focusedRegions;
|
||||||
@@ -35,6 +36,7 @@ namespace Bloom
|
|||||||
Targets::TargetMemoryType memoryType,
|
Targets::TargetMemoryType memoryType,
|
||||||
const Targets::TargetMemoryBuffer& data,
|
const Targets::TargetMemoryBuffer& data,
|
||||||
Targets::TargetProgramCounter programCounter,
|
Targets::TargetProgramCounter programCounter,
|
||||||
|
Targets::TargetStackPointer stackPointer,
|
||||||
const std::vector<FocusedMemoryRegion>& focusedRegions,
|
const std::vector<FocusedMemoryRegion>& focusedRegions,
|
||||||
const std::vector<ExcludedMemoryRegion>& excludedRegions
|
const std::vector<ExcludedMemoryRegion>& excludedRegions
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -186,6 +186,7 @@ namespace Bloom::Widgets
|
|||||||
|
|
||||||
void SnapshotViewer::onHexViewerReady() {
|
void SnapshotViewer::onHexViewerReady() {
|
||||||
this->hexViewerWidget->addExternalContextMenuAction(this->restoreBytesAction);
|
this->hexViewerWidget->addExternalContextMenuAction(this->restoreBytesAction);
|
||||||
|
this->hexViewerWidget->setStackPointer(this->snapshot.stackPointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SnapshotViewer::restoreSelectedBytes(
|
void SnapshotViewer::restoreSelectedBytes(
|
||||||
|
|||||||
Reference in New Issue
Block a user