gpt4 book ai didi

c++ - DebugView 打印列显示 "????"

转载 作者:行者123 更新时间:2023-11-28 06:23:27 24 4
gpt4 key购买 nike

当使用以下代码在 Windows 7 机器上调用 OutputDebugString 时,我只看到“????”在 DebugView 的打印列中。我认为这可能是一个与编码相关的问题,但不确定之前是否有人见过。这是我用来调用 OutputDebugString 的代码。

void dbgprint(char *format, ...)
{
static DWORD pid=0;
va_list vl;
char dbgbuf1[2048],
dbgbuf2[2048];

// Prepend the process ID to the message
if ( 0 == pid )
{
pid = GetCurrentProcessId();
}

EnterCriticalSection(&gDebugCritSec);
va_start(vl, format);
wvsprintf(dbgbuf1, format, vl);
wsprintf(dbgbuf2, "%lu: %s\r\n", pid, dbgbuf1);
va_end(vl);

OutputDebugString(dbgbuf2);
LeaveCriticalSection(&gDebugCritSec);
}

enter image description here

提前感谢您对此问题的任何见解。

最佳答案

正如您所说,这可能是一个编码问题。只需测试一下:

OutputDebugStringA("这是一个非unicode测试");

还有两件事,

  1. 您不必为 PID 添加前缀,因为 OutputDebugString已经将其与消息一起发送。
  2. https://github.com/djeedjay/DebugViewPP 查看 DebugView++

关于c++ - DebugView 打印列显示 "????",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28952358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com