2013-05-30 53 views
0

这应该输出到输出窗口。但是,它不,我不知道为什么。当我在调试模式下运行它时,buffer =“*** NUM ADAPTERS = 2”,但它不会显示在输出窗口中。OutputDebugString - 不在输出窗口中显示

UINT i = 0; 
std::vector<IDXGIAdapter*> vAdapters; 
while(dxgiFactory->EnumAdapters(i, &dxgiAdapter) != DXGI_ERROR_NOT_FOUND) 
{ 
    vAdapters.push_back(dxgiAdapter); 
    ++i; 
} 

char buffer[50]; 

sprintf_s(buffer, "***NUM ADAPTERS = %d", vAdapters.size()); 

OutputDebugStringA(buffer); 

我是否缺少一些简单的东西?

+0

您正在调试(F5)还是正在运行(ctrl + F5)?如果是后者,那就是你的问题 - 你只需要使用F5。 –

+0

@JerryCoffin然后它会在哪里显示? – Cypras

+1

在VS输出窗口中。例如http://i1212.photobucket.com/albums/cc452/jcoffin01/debug_zpsf213d96a.png –

回答

1

当您使用调试器启动程序,OutputDebugString的东西出现在输出窗格(您可能需要切换到它,甚至选择方案,从组合的输出)。

外,您可以使用DebugView来收集输出,当然这样你将不得不通过PID过滤消息。

+0

以确保安全,请以管理员模式启动DbgView – Abhinav