DebugViewの使い方

Windows Sysinternalsの一つであるDebugViewを使って、デバッグ出力を確認できます。

YouTube

動画による説明はこちら。

手順

DebugViewを入手する

マイクロソフトのウェブサイトから、DebugViewをダウンロードします。

DebugView - Windows Sysinternals

ダウンロードページからSysinternals Suiteをダウンロードしてもいいかもしれません。
こちらであれば、他Toolもまとめてダウンロードできます。

Sysinternals Utilities - Windows Sysinternals

デバッグ出力するToolを用意する(C++アプリの例)

Visual Studioで、コンソールアプリ(C++)の新規プロジェクトを作成します。
デバッグ出力するためのOutputDebugStringを追加します。

#include <iostream>
#include <Windows.h>

void HeavyTask()
{
    Sleep(3000);
}

int main()
{
    OutputDebugString(TEXT("Begin\n"));
    HeavyTask();
    OutputDebugString(TEXT("End\n"));
}

実行

まずDebugView(Dbgview.exe)を起動しておきます。

一方、デバッグ出力するTool側で、どちらかを行います。

  • Visual Studioで「デバッグなしで開始」を実行する
    「デバッグの開始」をしてしまうと、Visual Studio上の「出力」に表示されてしまいます。
  • ビルドしてから、exeを実行する

結果

Output

デバッグ出力するToolを用意する(C#アプリの例)

using System;
using System.Diagnostics;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static async Task Main(string[] args)
        {
            Trace.WriteLine("Trace: Begin");
            Debug.WriteLine("Debug: Begin");
            await Task.Delay(3000);
            Trace.WriteLine("Trace: End");
            Debug.WriteLine("Debug: End");
        }
    }
}

結果

Debugビルドの場合。
Trace.WriteLine()、Debug.WriteLine()の両方が出力される。

Output

Releaseビルドの場合。
Trace.WriteLine()の分が出力される。

Output

動作確認環境

  • DebugView 4.90
  • Windows 10
  • Visual Studio 2019

学び

  • 作成したToolのデバッグ出力を、DebugViewを使って確認できる
  • DebugViewをエージェントモードで起動することで、リモートのコンピューター上のデバッグ出力もキャプチャーできる

スポンサーリンク