You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This assumption is valid for ELF, but not for PE (e.g. binaries running on Wine). PE binaries would get the wrong debug_name which will:
Hit load_symbol_map_for_pdb_corresponding_to_binary, which only looks for PdbFilename (debug_path), and does not resolve dirname(path) + debug_name. The former is usually a path on the build machine, so if the file is redistributed it does not resolve.
Fail to retrieve symbols from SymSrv, because debug_name needs to be the pdb's filename. The DebugId is correct because we use the debug_id_for_object helper.
We already have a helper in wholesym to determine the correct debug_ids, so we should probably extend the helper to the entire LibraryInfo.
The text was updated successfully, but these errors were encountered:
wholesym has library_info_for_binary_at_path, but it's async.
In 2bcbdf1 we're duplicating this code into the samply package (but with sync IO). Once that PR lands we can move it to samply/src/shared and use it in the Linux converter.
The Linux backend currently assumes that files have a debug_name equivalent to name (and likewise for name):
samply/samply/src/linux_shared/converter.rs
Lines 1451 to 1460 in 5bf04b0
This assumption is valid for ELF, but not for PE (e.g. binaries running on Wine). PE binaries would get the wrong debug_name which will:
load_symbol_map_for_pdb_corresponding_to_binary
, which only looks forPdbFilename
(debug_path
), and does not resolvedirname(path) + debug_name
. The former is usually a path on the build machine, so if the file is redistributed it does not resolve.debug_id_for_object
helper.We already have a helper in wholesym to determine the correct debug_ids, so we should probably extend the helper to the entire
LibraryInfo
.The text was updated successfully, but these errors were encountered: