-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Print inlined functions on Windows #47252
Conversation
src/libstd/sys_common/backtrace.rs
Outdated
let skipped_before = 0; | ||
// Look for the first occurence of a panic entry point | ||
// Skip all frames before that | ||
let skipped_before = frames.iter().position(|frame| { |
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.
Did these leak in by accident? I think tidy failed to compile due to these maybe?
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 forgot to commit my code...
Can this test also be updated? |
Was it possible to update the relevant test to avoid the special-casing of msvc? |
It looks like location information disappeared from x86-32. I'll have to look into that. |
Hi @Zoxc! Have you checked the issue of 32-bit x86? |
I checked that similar code does work for C++. There might be some issue with either the FFI or debug information Rust generates. I'll try to use the C++ code to generate a stack trace for Rust code. |
I used a pointer instead of a |
e059019
to
5253bab
Compare
This is now ready to be merged. The backtrace test still doesn't pass because the debug information we emit is not entirely correct. |
@bors: r+ Ok, thanks for investigating! |
📌 Commit 5253bab has been approved by |
Print inlined functions on Windows Split from #45637 r? @alexcrichton
💔 Test failed - status-travis |
Just a missing field.
|
@bors r=alexcrichton |
📌 Commit 634f8cc has been approved by |
Print inlined functions on Windows Split from #45637 r? @alexcrichton
💔 Test failed - status-appveyor |
Gonna merge anyway since all tests passed and it's just the appveyor timeout. |
PR rust-lang#47252 switched stack inspection functions of dbghelp.dll to their newer alternatives that also capture inlined context. Unfortunately, said new alternatives are not present in older dbghelp.dll versions. In particular Windows 7 at the time of writing has dbghelp.dll version 6.1.7601 from 2010, that lacks StackWalkEx and friends. Fixes rust-lang#50138
PR #47252 switched stack inspection functions of dbghelp.dll to their newer alternatives that also capture inlined context. Unfortunately, said new alternatives are not present in older dbghelp.dll versions. In particular Windows 7 at the time of writing has dbghelp.dll version 6.1.7601 from 2010, that lacks StackWalkEx and friends. Fixes #50138
Split from #45637
r? @alexcrichton