2013-01-12 90 views
9

免责声明:我对MSFT科技界很陌生,仅在一个月前开始开发Windows Phone开发。Windows Phone:登录到控制台

我无法弄清楚如何在C#和C++(Direct3D)Windows Phone 8应用程序中将信息记录到Visual Studio输出窗口。这可能吗?

我在调试模式下构建,目标Windows Phone 8,在XDE模拟器中运行,我的开发机器是安装了VS2012 Ultimate的Windows 8盒子。我的应用运行良好,我的Direct3D场景正常渲染,但我无法记录任何内容!这使跟踪代码执行变得困难,并迫使我使用断点(在许多情况下这可能是过度的)。

我一直在寻找和广泛的尝试了很多方法(OutputDebugString是其中之一)。我无法在MSDN上看到关于此的任何内容 - 为什么这不在任何地方?

回答

9

是的,可以从WP8 C++编写调试字符串到VS2012的输出窗口。我实际上有一个here的例子。

1)从C++调用OutputDebugString

void Direct3DInterop::MyButtonWasClicked() 
{ 
    OutputDebugString(L"Button was clicked!"); 
} 

2)在运行应用程序确保从项目属性的托管调试到本机调试改变。

Native debugger in the project's properties

+0

你是一个拯救生命的人 - 感谢这个重要的提示! – aaronsnoswell

-1

我相信在System.Diagnostics.Debug(特别是WriteLine()的重载)工作的方法...虽然我还没有用C++应用程序尝试过它们。

+0

System。*命名空间不能从WP8 C++ AFAIK获得。只有Windows * WinPRT API和C++功能应该可用。但是我可能在这里错了。 – JustinAngel

+0

不,你没有错 - 他们不可用:) – aaronsnoswell