-
Notifications
You must be signed in to change notification settings - Fork 8
Add support for Breakpad symbols. #16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Breakpad symbols. #16
Conversation
This involves: - A new option: `-b`/`--breakpad`, for specifying the Breakpad symbols directory. - Code for finding particular `.sym` files within that directory. - Adding a space before the address in output lines, so they don't match the input regexp and thus won't be double processed. - A new test, `test_breakpad`.
gabrielesvelto
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but we'll have to figure out how to make sure we enforce the one-uuid-per-object constraint when we invoke the script.
|
@gabrielesvelto: I have added a second commit that handles multiple uuids. Please review! Thanks. |
gabrielesvelto
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but open an issue to get rid of the dependency on fileid when it's feasible to do so.
| let output = Command::new(fileid_exe) | ||
| .arg(&bin_file) | ||
| .output() | ||
| .map_err(|_| format!("run `{}` for", fileid_exe))?; | ||
| let uuid = str::from_utf8(&output.stdout).unwrap().trim_end(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm still amazed at how concise Rust can be. Doing this stuff in C/C++ would be at least 100+ lines.
|
I opened #18 for removing the dependence on |
…svelto This uses `fix-stacks`'s new Breakpad symbols support from mozilla/fix-stacks#16. The patch also updates some comments in `dmd.py` to account for some very slight changes in `fix-stacks`'s output. Differential Revision: https://phabricator.services.mozilla.com/D66363
…svelto This uses `fix-stacks`'s new Breakpad symbols support from mozilla/fix-stacks#16. The patch also updates some comments in `dmd.py` to account for some very slight changes in `fix-stacks`'s output. Differential Revision: https://phabricator.services.mozilla.com/D66363 --HG-- extra : moz-landing-system : lando
…svelto This uses `fix-stacks`'s new Breakpad symbols support from mozilla/fix-stacks#16. The patch also updates some comments in `dmd.py` to account for some very slight changes in `fix-stacks`'s output. Differential Revision: https://phabricator.services.mozilla.com/D66363 UltraBlame original commit: 10998b6bf6d86d1201bdc9c0027154cf42970315
…svelto This uses `fix-stacks`'s new Breakpad symbols support from mozilla/fix-stacks#16. The patch also updates some comments in `dmd.py` to account for some very slight changes in `fix-stacks`'s output. Differential Revision: https://phabricator.services.mozilla.com/D66363 UltraBlame original commit: 10998b6bf6d86d1201bdc9c0027154cf42970315
…svelto This uses `fix-stacks`'s new Breakpad symbols support from mozilla/fix-stacks#16. The patch also updates some comments in `dmd.py` to account for some very slight changes in `fix-stacks`'s output. Differential Revision: https://phabricator.services.mozilla.com/D66363 UltraBlame original commit: 10998b6bf6d86d1201bdc9c0027154cf42970315
…ng it have IMAGE_SCN_CNT_CODE or IMAGE_SCN_MEM_EXECUTE flags (mozilla#16)
…svelto This uses `fix-stacks`'s new Breakpad symbols support from mozilla/fix-stacks#16. The patch also updates some comments in `dmd.py` to account for some very slight changes in `fix-stacks`'s output. Differential Revision: https://phabricator.services.mozilla.com/D66363
This involves:
-b/--breakpad, for specifying the Breakpad symbolsdirectory.
.symfiles within that directory.the input regexp and thus won't be double processed.
test_breakpad.r? @gabrielesvelto