-
-
Notifications
You must be signed in to change notification settings - Fork 265
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
Assert Failure/Out of bounds error inside DLL on Windows doesn't throw stack traces and shows no message #4426
Comments
Also, it shows no message assertion message. Basically all of those are produces the errors but doesn't does anything besides halting: Visual Studio debugger shows "Unhandled exception at 0x00007FFEB104CD29 in hipreme_engine.exe: Microsoft C++ exception: core.exception.AssertError " assert(false);
assert(false, "Some error occurred");
int[] arr;
arr[10] = 500;
arr[0..10] = 50; |
Oh yea, I'm using |
Update 1: The error is catchable. But toString can't be called on them too |
Shouldn't be required when linking both DLL and the .exe against shared druntime/Phobos via |
Yep,
export void myDllDummy(int[] a) {
a[5] = 123;
}
import dlldummy;
void main() {
int[5] a;
myDllDummy(a);
}
|
Humm I was able to also reproduce this functionality by using So, you said "it should not be required". Then the only way to actually share the druntime is with |
For a dub .exe with static-lib dependencies, see dlang/dub#2660 - you'll currently need to set
Yes, for Posix too. |
Updated the wiki here: https://wiki.dlang.org/Win32_DLLs_in_D#Shared_D_Runtime.28LDC.29 |
thank you for updating the wiki! |
Tested with 1.33.0-beta1
Since I have been developing mostly inside a DLL, it gets very frustrating since all it does is halting.
Those errors can only be checked when inside a debugger. Would be nice to get the default behavior which is throwing a stack trace together with exiting the program.
The text was updated successfully, but these errors were encountered: