-
-
Notifications
You must be signed in to change notification settings - Fork 653
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
Windows SetUnhandledExceptionFilter() and MiniDumpWriteDump() not working #4407
Comments
Curious if there's any further traction on this issue, I hunted through the PRs and it seems to be in a bit of a quagmire. I am used to having this sort of functionality available in my dev builds for if crashes occur during testing on a testers system. (I don't mind waiting, just curious where things are at 😄 ) |
Funnily enough, I was working on this yesterday. Thanks for the reminder! #4611 and #4474 are the related fixes. I kind of took charge of these then blipped off the map for a while. My apologies for that. |
No need for apologies dude, respect the effort to fix this. Thanks for the speedy update 👍 |
Context
I'm trying to do Windows SEH in Odin, when exception occurred, catch it and write a dump file for later debugging.
odin report
output:Expected Behavior
MiniDumpWriteDump() should write the dump successfully.
Current Behavior
MiniDumpWriteDump() returns FALSE.
GetLastError() returns 2147943398 (0x800703E6), which denotes "Invalid access to memory location".
It seems the problems is that the registered handler got called with a wrong input of ^EXCEPTION_POINTERS, if we don't pass this pointer to MINIDUMP_EXCEPTION_INFORMATION.ExceptionPointers (replace it with a nil pointer), MiniDumpWriteDump() would return TRUE (which apparently would dump a file without correct exception info).
Failure Information (for bugs)
Please help provide information about the failure if this is a bug. If it is not a bug, please remove the rest of this template.
Steps to Reproduce
compile:
odin build . -out:main.exe -debug
run:
main.exe<ENTER>
output:
The text was updated successfully, but these errors were encountered: