From c3d13647fa9123a967f75fc93ca1b7f6c1701e24 Mon Sep 17 00:00:00 2001 From: Nav Date: Fri, 22 Sep 2023 20:55:00 +0100 Subject: [PATCH] Restore breakpoints upon leaving programming mode --- src/TargetController/TargetControllerComponent.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/TargetController/TargetControllerComponent.cpp b/src/TargetController/TargetControllerComponent.cpp index 3510f119..94a3e034 100644 --- a/src/TargetController/TargetControllerComponent.cpp +++ b/src/TargetController/TargetControllerComponent.cpp @@ -685,6 +685,17 @@ namespace TargetController Logger::info("Programming mode disabled"); EventManager::triggerEvent(std::make_shared()); + + Logger::info("Restoring breakpoints"); + this->target->stop(); + + for (const auto& [address, breakpoint] : this->softwareBreakpointsByAddress) { + this->target->setSoftwareBreakpoint(address); + } + + for (const auto& [address, breakpoint] : this->hardwareBreakpointsByAddress) { + this->target->setHardwareBreakpoint(address); + } } const Targets::TargetDescriptor& TargetControllerComponent::getTargetDescriptor() {