Debug breadcrumbs
build-linux / build-linux-x64 (push) Successful in 5m29s
build-macos / build-macos-x64 (push) Successful in 9m5s
build-windows / build-windows-x64 (push) Successful in 10m16s

This commit is contained in:
2026-05-06 22:43:47 +02:00
parent d6c77d524a
commit b16dc97a81
3 changed files with 19 additions and 5 deletions
+8 -3
View File
@@ -174,9 +174,14 @@ fn install_panic_hook() {
"PANIC pid={pid} exe={exe} args={args:?}\n at {location}\n payload: {payload}"
);
log::error!("{header}\n backtrace:\n{backtrace}");
let mut path = config::Config::log_path();
let _ = std::fs::create_dir_all(&path);
path.push("panic.log");
// Pick a fallback file path that *cannot* recursively panic. We
// intentionally don't use `Config::log_path()` here because that
// reads `APP_NAME` from a RwLock, and if the panicking thread is
// holding that lock (or the lock is poisoned by a prior panic),
// the hook would recurse and abort before writing anything.
// `temp_dir()` is a flat env-var lookup; safe to call mid-panic.
let mut path = std::env::temp_dir();
path.push("rustdesk-panic.log");
if let Ok(mut f) = std::fs::OpenOptions::new()
.create(true)
.append(true)
+10 -1
View File
@@ -689,18 +689,27 @@ impl RendezvousMediator {
}
async fn register_pk(&mut self, socket: Sink<'_>) -> ResultType<()> {
log::info!("breadcrumb: register_pk enter");
let mut msg_out = Message::new();
log::info!("breadcrumb: register_pk before Config::get_key_pair");
let pk = Config::get_key_pair().1;
log::info!("breadcrumb: register_pk after Config::get_key_pair, pk_len={}", pk.len());
let uuid = hbb_common::get_uuid();
log::info!("breadcrumb: register_pk after get_uuid, uuid_len={}", uuid.len());
let id = Config::get_id();
log::info!("breadcrumb: register_pk after get_id, id={id}");
let no_register = Config::no_register_device();
log::info!("breadcrumb: register_pk after no_register_device={no_register}");
msg_out.set_register_pk(RegisterPk {
id,
uuid: uuid.into(),
pk: pk.into(),
no_register_device: Config::no_register_device(),
no_register_device: no_register,
..Default::default()
});
log::info!("breadcrumb: register_pk before socket.send");
socket.send(&msg_out).await?;
log::info!("breadcrumb: register_pk after socket.send");
SENT_REGISTER_PK.store(true, Ordering::SeqCst);
Ok(())
}