Skip to content
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 initial MacOS implementation #21

Merged
merged 53 commits into from
May 23, 2022
Merged
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
b4c50cb
Move memory write to be a shared module
Jake-Shadle Apr 8, 2022
d777ecc
Begin fleshing out MacOS implementation
Jake-Shadle Apr 12, 2022
977ebb2
Further fleshing out
Jake-Shadle Apr 12, 2022
cbf84f3
Add remaining streams
Jake-Shadle Apr 14, 2022
b3c8c10
Begin refactor
Jake-Shadle Apr 14, 2022
b439d66
Update branch name for path
Jake-Shadle Apr 14, 2022
9c0fe44
Make DirSection shared
Jake-Shadle Apr 14, 2022
c73f1f4
Finish up refactoring and actually get it compiling
Jake-Shadle Apr 14, 2022
cc84ce9
Add macos dump test
Jake-Shadle Apr 20, 2022
22b5d7f
Build mac in CI
Jake-Shadle Apr 20, 2022
a721515
Fixup x86_64
Jake-Shadle Apr 20, 2022
c166609
Remove unused import
Jake-Shadle Apr 20, 2022
3825266
Verify we get valid misc info
Jake-Shadle Apr 20, 2022
717312b
Add debug prints
Jake-Shadle Apr 20, 2022
396b2ac
Actually these were what I wanted
Jake-Shadle Apr 20, 2022
915caa3
Use TASK_BASIC_INFO_64 instead
Jake-Shadle Apr 20, 2022
22a5aad
Add busy loop so we don't have 0 seconds of user time
Jake-Shadle Apr 20, 2022
589bf61
uhm
Jake-Shadle Apr 20, 2022
05b10df
Check both
Jake-Shadle Apr 20, 2022
13edc95
Properly pack structs
Jake-Shadle Apr 20, 2022
aa7bcc4
oops
Jake-Shadle Apr 20, 2022
a2010cd
Use a thread to force timings?
Jake-Shadle Apr 20, 2022
97ad56c
Try harder to use user cpu time
Jake-Shadle Apr 20, 2022
3c36479
Just give up on process times for now
Jake-Shadle Apr 20, 2022
1695497
Cleanup/docs pass
Jake-Shadle Apr 21, 2022
3e473b0
Add task_dumper test for load command iteration
Jake-Shadle Apr 21, 2022
7dbd4c5
Verify test works on macos
Jake-Shadle Apr 21, 2022
5852ffa
Remove unneeded crash-context patch
Jake-Shadle Apr 21, 2022
1360967
oops, remove dbg! code
Jake-Shadle Apr 21, 2022
0f361da
Oops, we were dropping a register
Jake-Shadle Apr 25, 2022
7d4aecf
Use correct arm64 processor arch
Jake-Shadle Apr 25, 2022
ff3c98b
Remove superfluous 'what' comment
Jake-Shadle Apr 26, 2022
4342fde
Hopefully fix slide calculation
Jake-Shadle Apr 26, 2022
b57038a
Checkpoint of fail
Jake-Shadle Apr 26, 2022
f44a51c
Fix formatting
Jake-Shadle Apr 28, 2022
4ec6a9a
Using as a path dep for now
Jake-Shadle Apr 28, 2022
4af3274
Use crash-context to properly send process info
Jake-Shadle Apr 28, 2022
73c53c8
Remove minidump-processor temporarily due to openssl
Jake-Shadle Apr 28, 2022
ccada3b
Fix windows
Jake-Shadle Apr 28, 2022
fe4e0d9
Fix it better
Jake-Shadle Apr 28, 2022
b67946e
oops
Jake-Shadle Apr 28, 2022
a8e0783
Get rid of needless functions now that pid is part of context
Jake-Shadle Apr 29, 2022
b18c572
Shame
Jake-Shadle Apr 29, 2022
a563388
Fix windows test compilation
Jake-Shadle Apr 29, 2022
8fa66d8
Gracefully handle invalid addresses for thread stacks
Jake-Shadle Apr 29, 2022
9189c8d
Remove crash-context patch
Jake-Shadle Apr 29, 2022
46e3999
Add CHANGELOG.md
Jake-Shadle Apr 29, 2022
2082ff7
Reenable test with patches
Jake-Shadle May 2, 2022
41c1768
Fix build
Jake-Shadle May 2, 2022
0b62a95
Fix it for real this time
Jake-Shadle May 2, 2022
699f248
Replace cargo-audit with cargo-deny
Jake-Shadle May 2, 2022
1018093
Remove minidump* patches now that 0.11 was released
Jake-Shadle May 19, 2022
4e44566
Ensure aarch64 compiles as well
Jake-Shadle May 20, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Hopefully fix slide calculation
  • Loading branch information
Jake-Shadle committed Apr 27, 2022
commit 4342fdeee6c3a7deed47412c16d1aad404523375
2 changes: 1 addition & 1 deletion src/mac/streams/module_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ impl MinidumpWriter {
mach::LoadCommand::Segment(seg) if sizes.is_none() => {
if &seg.segment_name[..7] == b"__TEXT\0" {
let slide = if seg.file_off == 0 && seg.file_size != 0 {
(image.load_address - seg.vm_addr) as isize
image.load_address as isize - seg.vm_addr as isize
} else {
0
};
Expand Down