debugger support for dx (#3814)
* add vscode debugger for apps * todo: need to disconnect when rebuilding * update debugger * add uri handler to remote launch the debugger * attach * dont panic * fixed it - hung processes are not errors * wip: android debugger * clean it up a bit * revert ios stdout/stderr * wire up pid from ios * use target family instead of target_arch * fix android * bring back softkill * typo
This commit is contained in:
1 parent
eb15b42ab1
commit
b2bd1f48d4
13 files changed
+305
-41
No files matched your search
@@ -692,6 +692,7 @@ impl AppServer {
|
||||
&mut self,
|
||||
build_id: BuildId,
|
||||
aslr_reference: Option<u64>,
|
||||
pid: Option<u32>,
|
||||
) {
|
||||
match build_id {
|
||||
BuildId::CLIENT => {
|
||||
@@ -701,6 +702,9 @@ impl AppServer {
|
||||
if let Some(aslr_reference) = aslr_reference {
|
||||
self.client.aslr_reference = Some(aslr_reference);
|
||||
}
|
||||
if let Some(pid) = pid {
|
||||
self.client.pid = Some(pid);
|
||||
}
|
||||
}
|
||||
}
|
||||
BuildId::SERVER => {
|
||||
@@ -970,6 +974,24 @@ impl AppServer {
|
||||
|
||||
server.compiled_crates as f64 / server.expected_crates as f64
|
||||
}
|
||||
|
||||
pub(crate) async fn open_debugger(&mut self, dev: &WebServer, build: BuildId) {
|
||||
if self.use_hotpatch_engine {
|
||||
tracing::warn!("Debugging symbols might not work properly with hotpatching enabled. Consider disabling hotpatching for debugging.");
|
||||
}
|
||||
|
||||
match build {
|
||||
BuildId::CLIENT => {
|
||||
_ = self.client.open_debugger(dev).await;
|
||||
}
|
||||
BuildId::SERVER => {
|
||||
if let Some(server) = self.server.as_mut() {
|
||||
_ = server.open_debugger(dev).await;
|
||||
}
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Bind a listener to any point and return it
|
||||
|
||||
Reference in new issue
Block a user