mirror of
https://github.com/zed-industries/zed.git
synced 2024-12-26 10:43:05 +03:00
Improve panic logging
Send along every symbol for inlined frames, and also include the address (and if we have it filename + lineno)
This commit is contained in:
parent
680929081d
commit
345b983c8e
@ -542,7 +542,22 @@ fn init_panic_hook(app: &App, installation_id: Option<String>, session_id: Strin
|
||||
let mut backtrace = backtrace
|
||||
.frames()
|
||||
.iter()
|
||||
.filter_map(|frame| Some(format!("{:#}", frame.symbols().first()?.name()?)))
|
||||
.flat_map(|frame| {
|
||||
frame.symbols().iter().filter_map(|symbol| {
|
||||
let name = symbol.name()?;
|
||||
let addr = symbol.addr()? as usize;
|
||||
let position = if let (Some(path), Some(lineno)) = (
|
||||
symbol.filename().and_then(|path| path.file_name()),
|
||||
symbol.lineno(),
|
||||
) {
|
||||
format!("{}:{}", path.to_string_lossy(), lineno)
|
||||
} else {
|
||||
"?".to_string()
|
||||
};
|
||||
|
||||
Some(format!("{:} ({:#x}) at {}", name, addr, position))
|
||||
})
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
// Strip out leading stack frames for rust panic-handling.
|
||||
|
Loading…
Reference in New Issue
Block a user