Windows / redirect STDERR to see assert messages
Bastiaan Veelo
Bastiaan at Veelo.net
Tue May 14 09:41:41 UTC 2019
On Sunday, 12 May 2019 at 13:39:15 UTC, Robert M. Münch wrote:
> When developing Windows GUI applications I use:
>
> // detach from console and attach to a new one, works for
> x86 and x86_64
> FreeConsole();
> AllocConsole();
>
> freopen("CONIN$", "r", stdin);
> freopen("CONOUT$", "w", stdout);
> freopen("CONOUT$", "w", stderr);
>
> so that the GUI app opens a console for writeln() output etc. I
> assumed this should work for assert() messages as well. But it
> seems it doesn't. If an assert fails, I don't see any output.
> Is assert using something else? What's wrong about this
> approach?
Are you sure the last call to freopen doesn't return NULL? You
are opening the same file twice and I'm not sure that works. Test
with `stderr.writeln("test")`.
Bastiaan.
More information about the Digitalmars-d-learn
mailing list