-
-
Notifications
You must be signed in to change notification settings - Fork 77
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
feat: Support DWARF debug info in PE files #744
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #744 +/- ##
==========================================
+ Coverage 73.43% 73.80% +0.37%
==========================================
Files 69 69
Lines 14875 14875
==========================================
+ Hits 10923 10979 +56
+ Misses 3952 3896 -56 |
I've snapshotted a binary of the sqlite3 shell I compiled for the test cases now. |
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.
Looks good to me, thank you very much for this!
@@ -446,7 +446,6 @@ pub enum ObjectDebugSession<'d> { | |||
Breakpad(BreakpadDebugSession<'d>), | |||
Dwarf(DwarfDebugSession<'d>), | |||
Pdb(PdbDebugSession<'d>), | |||
Pe(PeDebugSession<'d>), |
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.
Just a NOTE: removing these types is considered a breaking change.
As getsentry/publish#1700 has been stuck and noone has tried to fix this yet, we can squeeze this breaking change into the next release still.
Please make sure to document the changes in the changelog though.
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've updated the changelog.
Also, 3+M for the testcase is a bit hefty. All you would need is a main fn with a |
The reason why I didn't do this is because the other test fixtures looked more like "real world" programs. The MacOS example is also over 1M in size. Anyways, the test cases are replaced now. |
Clippy still complains about unneeded |
Fixed! |
I'm not quite sure how I should implement tests for this. All the other formats seem to use
breakpad
binaries as the test case, butbreakpad_client
doesn't build under MinGW. Is it relevant that the test cases match? Or can I just use some random project for this?Also, is support for platforms with non-4K page size relevant? Goblin doesn't seem to expose page size, so this metadata would have to be kept up-to-date in
symbolic
.Closes #352.