VisualStudio - 【出力】ウィンドウ

先頭へ戻る

この章の概要

この章の概要です。


【出力】ウィンドウ

VisualStudio の【出力】ウィンドウは、ビルドの結果や、実行時に出力させたメッセージなど、さまざまなテキストメッセージを表示するウィンドウです。

実行時の出力というのは、C言語の printf関数などで標準出力へ出力するものではありません。後で取り上げます

【出力】ウィンドウを表示するには、メニューバーの【表示】>【出力】を選択します。あるいは、ショートカットキー(Ctrl + Alt + O あるいは、Alt + 2)を押します。

出力ウィンドウ

VisualStudio内の「~ウィンドウ」は非常に自由なレイアウトで配置できるので、この写真は一例です。いずれにしても、【出力】というタイトルの表示領域があるはずです。

表示内容を切り替える

【出力】ウィンドウ内には、メッセージを表示する場所が1つしかありません。そのため、ビルドに関するメッセージや、プログラム実行時の出力内容などが同じ場所を使うことになります。メッセージが混ざり合うと分かりづらくなってしまうので、どこから発生したメッセージを表示するのかを切り替えられるようになっています。

【出力元】と書かれている部分の右側にある表示領域をクリックして、一覧を表示します。この中から選択した出力元からのメッセージだけが表示されます。

出力ウィンドウの出力元を切り替える

指摘されたソースコード位置へ移動する

コンパイルエラーが報告されたときなどには、ソースファイルの名前や行数が表示されていることがあります。

このようなメッセージが表示されているときは、その行をダブルクリックするか、【コード内のメッセージを検索】ボタンをクリックすると、エディタのカーソル位置を、該当のソースコードの位置へ移動できます。

出力ウィンドウでエラーメッセージをダブルクリック

あるいは、【前のメッセージに移動】【次のメッセージに移動】のボタンをクリックすると、【出力】ウィンドウ内のカーソル位置を、手前や後ろのエラーメッセージへ移動できます。連動して、エディタのカーソル位置も移動します。

出力ウィンドウで前後のエラーへ移動する

実行時にメッセージを出力する

実行時に出力ウィンドウにメッセージを出力するには、Windows が用意している関数を使う必要があります。C言語の printf関数などの結果が出力されるわけではありません。

C言語や C++ では、OutputDebugString関数を使います。<Windows.h> をインクルードして使用します。

正確には OutputDebugString はマクロであり、UNICODE というマクロの定義の有無に応じて、OutputDebugStringA関数か、OutputDebugStringW関数に置換されます。置換後の関数を直接呼び出しても構いません。

#include <Windows.h>

int main(void)
{
    OutputDebugString(L"Hello, World\n");

    return 0;
}

このプログラムをデバッグ実行すると(デバッグ無し実行では出力されません)、【出力】ウィンドウに出力できます。【出力元】は「デバッグ」です。

出力ウィンドウへ出力する

この関数はあくまでデバッグ用途なので、本番で必要な出力を行うことには使わないようにしてください。また、この関数は Windows 環境でのみ用意されているものですから、ほかのプラットフォームにも対応したプログラムを書いている場合には使えないことに注意してください。

トレースポイントを使ってメッセージを出力する

もう1つ、トレースポイントという機能を使って、【出力】ウィンドウへ出力する方法があります。トレースポイントについては、「ブレークポイント」のページで解説しています(トレースポイントは、ブレークポイントの一種です)。

この方法の場合は、ソースコードを変更する必要がありません。


参考リンク



更新履歴

'2018/9/8 「トレースポイントを使ってメッセージを出力する」の項を追加。

'2018/9/4 新規作成。



VisualStudio のトップページへ

資料集 のトップページへ

Programming Place Plus のトップページへ


はてなブックマーク Pocket に保存 Twitter でツイート Twitter をフォロー
Facebook でシェア Google+ で共有 LINE で送る rss1.0 取得ボタン RSS
管理者情報 プライバシーポリシー