Implement GDB/LLDB compatible server #3

Merged
SonicSwordcane merged 33 commits from debugger into main 2025-01-19 00:13:43 +00:00
3 changed files with 15 additions and 0 deletions
Showing only changes of commit b94ae4d586 - Show all commits

1
Cargo.lock generated
View File

@ -1754,6 +1754,7 @@ dependencies = [
"egui-winit", "egui-winit",
"egui_extras", "egui_extras",
"gilrs", "gilrs",
"hex",
"image", "image",
"itertools", "itertools",
"num-derive", "num-derive",

View File

@ -20,6 +20,7 @@ egui-toast = { git = "https://github.com/urholaukkarinen/egui-toast.git", rev =
egui-winit = "0.30" egui-winit = "0.30"
egui-wgpu = { version = "0.30", features = ["winit"] } egui-wgpu = { version = "0.30", features = ["winit"] }
gilrs = { version = "0.11", features = ["serde-serialize"] } gilrs = { version = "0.11", features = ["serde-serialize"] }
hex = "0.4"
image = { version = "0.25", default-features = false, features = ["png"] } image = { version = "0.25", default-features = false, features = ["png"] }
itertools = "0.13" itertools = "0.13"
num-derive = "0.4" num-derive = "0.4"

View File

@ -162,6 +162,19 @@ impl GdbConnection {
if body == "QStartNoAckMode" { if body == "QStartNoAckMode" {
self.ack_messages = false; self.ack_messages = false;
res.send_ok().await?; res.send_ok().await?;
} else if body.starts_with("qSupported:") {
res.write_str("multiprocess+;swbreak+;vContSupported+")
.await?;
res.send().await?;
} else if body == "QThreadSuffixSupported" || body == "QListThreadsInStopReply" {
res.send_ok().await?;
} else if body == "qHostInfo" || body == "qProcessInfo" {
res.write_str(&format!(
"triple:{};endian:little;ptrsize:4;",
hex::encode("v810-unknown-vb")
))
.await?;
res.send().await?;
} else if body == "k" { } else if body == "k" {
return Ok(()); return Ok(());
} else { } else {