OutputDebugString是本机ASCII,这意味着它在调用ASCII版本OutputDebugStringA之前将输入的unicode字符串转换为本地字符串。
是否有支持unicode的OutputDebugString的替代方法?
答案 0 :(得分:3)
OutputDebugStringW
在内部调用OutputDebugStringA
,因此无法在系统代码页中显示的Unicode字符将替换为?
。
奇怪的是,调试器从操作系统接收的OUTPUT_DEBUG_STRING_INFO结构打印消息似乎支持让调试器知道字符串是否为Unicode,它似乎没有被{{ 1}}。
不幸的是,我不知道有一种机制让操作系统使用Unicode字符串引发OUTPUT_DEBUG_STRING_EVENT。公共API可能无法实现。