-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Print inlined functions on Windows #47252
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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 #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