-
Notifications
You must be signed in to change notification settings - Fork 24
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
Wrong/confusing memory addrs on Windows #76
Comments
The actual load address is the stated load address + the bias on all platforms on all platforms. The docs of
The first Basically the behavior matches the documented behavior of |
So there are two issues:
cc @vthib (who presumably is using this code too). |
AFAICT There is an issue in the windows support, the bias is returned as |
That would fix the issue, except that I don't know how to determine |
This came up in getsentry/sentry-rust#386, with a possible workaround in getsentry/sentry-rust#387.
On Windows, we currently get values such as these:
Trying to use the
actual_load_addr
for symbolication yields the wrong results, andvirtual_memory_bias()
would give us the right value, though the name is very confusing in that case, and does not match the impl on other OSs.virtual_memory_bias
internally uses themodule_base
, and that value is also in line with what minidumps, and other minidump-related tools like breakpad and crashpad are yielding, and our symbolication is based on those.CC @mitsuhiko (original author of #37) @jan-auer
We had a small talk yesterday, and concluded that it probably does not make sense to have this distinction on Windows at all, and essentially
stated
should always be0
, and thusactual == bias
.However I have looked a bit at the impl here, and it seems that those values are based on iterating/finding the executable segments of an executable, so not sure what the right approach to fix this might be right now.
The text was updated successfully, but these errors were encountered: