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");
|
||||
|
||||
activeRangeSteppingSession->singleStepping = false;
|
||||
this->targetControllerService.continueTargetExecution(std::nullopt, std::nullopt);
|
||||
this->targetControllerService.continueTargetExecution(
|
||||
std::nullopt,
|
||||
activeRangeSteppingSession->range.endAddress
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -183,19 +183,6 @@ namespace DebugServer::Gdb::AvrGdb::CommandPackets
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user