Read actual register values
This commit is contained in:
+13
-2
@@ -227,12 +227,23 @@ impl GdbConnection {
|
||||
self.client.send_command(EmulatorCommand::Resume);
|
||||
// Don't send a response until we hit a breakpoint or get interrupted
|
||||
} else if req.match_str("p") {
|
||||
let Some(register) = req.match_hex::<u32>() else {
|
||||
let mut read_register = || {
|
||||
let register_index = req.match_hex::<usize>()?;
|
||||
let register = REGISTERS.get(register_index)?.to_vb_register();
|
||||
let (tx, rx) = ::oneshot::channel();
|
||||
self.client.send_command(EmulatorCommand::ReadRegister(
|
||||
self.sim_id,
|
||||
register,
|
||||
tx,
|
||||
));
|
||||
rx.recv().ok()
|
||||
};
|
||||
let Some(value) = read_register() else {
|
||||
let res = self.response();
|
||||
self.send(res).await?;
|
||||
continue;
|
||||
};
|
||||
let res = self.response().write_hex(register);
|
||||
let res = self.response().write_hex(value);
|
||||
self.send(res).await?;
|
||||
} else if req.match_str("m") {
|
||||
let mut read_params = || {
|
||||
|
||||
Reference in New Issue
Block a user