Removed intercepting breakpoint on end address of a stepping range. Replaced with runTo operation
This commit is contained in:
@@ -196,7 +196,10 @@ namespace DebugServer::Gdb::AvrGdb
|
|||||||
Logger::debug("Continuing range stepping");
|
Logger::debug("Continuing range stepping");
|
||||||
|
|
||||||
activeRangeSteppingSession->singleStepping = false;
|
activeRangeSteppingSession->singleStepping = false;
|
||||||
this->targetControllerService.continueTargetExecution(std::nullopt, std::nullopt);
|
this->targetControllerService.continueTargetExecution(
|
||||||
|
std::nullopt,
|
||||||
|
activeRangeSteppingSession->range.endAddress
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -183,19 +183,6 @@ namespace DebugServer::Gdb::AvrGdb::CommandPackets
|
|||||||
rangeSteppingSession.interceptedAddresses.insert(*destinationAddress);
|
rangeSteppingSession.interceptedAddresses.insert(*destinationAddress);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto subsequentInstructionAddress = instructionAddress + instruction->byteSize;
|
|
||||||
if (subsequentInstructionAddress >= addressRange.endAddress) {
|
|
||||||
/*
|
|
||||||
* Once this instruction has been executed, we'll end up outside the stepping range (so we'll want
|
|
||||||
* to stop there and report back to GDB).
|
|
||||||
*/
|
|
||||||
Logger::debug(
|
|
||||||
"Intercepting subsequent instruction at byte address 0x"
|
|
||||||
+ StringService::toHex(subsequentInstructionAddress)
|
|
||||||
);
|
|
||||||
rangeSteppingSession.interceptedAddresses.insert(subsequentInstructionAddress);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
debugSession.startRangeSteppingSession(std::move(rangeSteppingSession), targetControllerService);
|
debugSession.startRangeSteppingSession(std::move(rangeSteppingSession), targetControllerService);
|
||||||
|
|||||||
Reference in New Issue
Block a user