5

C++/XAML Windows ストア アプリ開発の学習を始めたばかりですが、私の人生では、変数値を VS2012 の [出力] ウィンドウに出力する良い方法が見つかりません。

Debug.WriteLine()Windowsストアアプリには存在しないようで、変数値を印刷するために使用できない方法以外に印刷する方法が見つかりませんOutputDebugString()(重い書式設定なし)。

例の行を印刷する簡単な方法はありますか:

マウス位置 X: 12

たとえば、12 は からの整数ですMouseDelta

御時間ありがとうございます、

ポンチョ

4

3 に答える 3

1

これは素晴らしい代替手段です: http://seaplusplus.com/2012/06/25/printf-debugging-in-metro-style-apps/、基本的にはWindowsストアアプリにコンソールを割り当てますが、明らかにこれは認証に失敗しますが、これはデバッグのみを目的としている可能性があるため、問題ありません。ここに関連するコードをコピーしています:

// Include Windows.h for WINBASEAPI and WINAPI:
#include <Windows.h>

// Declare AllocConsole ourselves, since Windows.h omits it:
extern "C" WINBASEAPI int WINAPI AllocConsole();

auto main(Platform::Array<Platform::String^>^) -> int
{
    AllocConsole();

    std::wcout << L"Hello there!" << std::endl;
    std::getchar();

    return EXIT_SUCCESS;
}

ただし、アプリ内でこのような出力を確認したい場合は、.NET System.Console の一部を実装し、Windows ストア アプリ内で安全に使用できるモダン UI アプリ用のコンソール クラスを使用することをお勧めします。

于 2013-06-24T16:54:31.910 に答える
1

このソリューションでは、次のラッパーを使用しますOutputDebugString

void WinLog(const wchar_t *text, int n)
{
    wchar_t buf[1024];
    _snwprintf_s(buf, 1024, _TRUNCATE, L"%s %d\n", text, n);
    OutputDebugString(buf);
}

次のように呼び出すことができます。

WinLog(L"The Answer is", 42);
于 2013-11-16T20:38:03.263 に答える