Boost C++ Libraries: Ticket #12021: WaitForDebugEventEx should be called to enable unicode in OutputDebugStringW https://svn.boost.org/trac10/ticket/12021 <p> From the MSDN documentation for <a class="missing wiki">OutputDebugString</a> and <a class="missing wiki">WaitForDebugEventEx</a>: </p> <blockquote> <p> Important In the past, the operating system did not output Unicode strings via OutputDebugStringW and instead only output ASCII strings. To force OutputDebugStringW to correctly output Unicode strings, debuggers are required to call <a class="missing wiki">WaitForDebugEventEx</a> to opt into the new behavior. On calling <a class="missing wiki">WaitForDebugEventEx</a>, the operating system will know that the debugger supports Unicode and is specifically opting into receiving Unicode strings. </p> </blockquote> <p> This is a Windows 10 api, it can be detected with code similar to: </p> <pre class="wiki">typedef BOOL(WINAPI *MYWAITFORDEBUGEVENT)( _Out_ LPDEBUG_EVENT lpDebugEvent, _In_ DWORD dwMilliseconds ); static auto WFDEX = MYWAITFORDEBUGEVENT(GetProcAddress(GetModuleHandleW(L"kernel32.dll"), "WaitForDebugEventEx")); </pre><p> (Note I had added several external links but trace rejected my bug as spam when I tried to submit this issue). </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12021 Trac 1.4.3 John Maddock Sat, 12 Mar 2016 18:18:22 GMT <link>https://svn.boost.org/trac10/ticket/12021#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12021#comment:1</guid> <description> <p> You need to say which boost library this pertains to. </p> </description> <category>Ticket</category> </item> <item> <author>Michael Marcin <mike.marcin@…></author> <pubDate>Sat, 12 Mar 2016 18:50:49 GMT</pubDate> <title>component changed; owner set https://svn.boost.org/trac10/ticket/12021#comment:2 https://svn.boost.org/trac10/ticket/12021#comment:2 <ul> <li><strong>owner</strong> set to <span class="trac-author">Andrey Semashev</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">log</span> </li> </ul> Ticket Michael Marcin <mike.marcin@…> Sat, 12 Mar 2016 18:51:48 GMT <link>https://svn.boost.org/trac10/ticket/12021#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12021#comment:3</guid> <description> <p> Sorry guess the component got lost when it got rejected for external links. Thanks for catching that. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Andrey Semashev</dc:creator> <pubDate>Sun, 13 Mar 2016 09:58:34 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12021#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12021#comment:4</guid> <description> <p> I'm not sure what is there to do in Boost.Log. <a class="missing wiki">WaitForDebugEventEx</a> is supposed to be called by the debugger, not the debuggee. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Andrey Semashev</dc:creator> <pubDate>Tue, 15 Mar 2016 19:22:54 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/12021#comment:5 https://svn.boost.org/trac10/ticket/12021#comment:5 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">invalid</span> </li> </ul> <p> Nothing to do with Boost.Log. </p> Ticket