この章の概要です。
Visual Studio の【出力】ウィンドウは、ビルドの結果や、実行時に出力させたメッセージなど、さまざまなテキストメッセージを表示するウィンドウです。
実行時の出力というのは、C言語の printf関数などで標準出力へ出力するものではありません。後で取り上げます。
【出力】ウィンドウを表示するには、メニューバーの【表示】>【出力】を選択します。あるいは、ショートカットキー(Ctrl + Alt + O あるいは、Alt + 2)を押します。
Visual Studio内の「~ウィンドウ」は非常に自由なレイアウトで配置できるので、この写真は一例です。いずれにしても、【出力】というタイトルの表示領域があるはずです。
【出力】ウィンドウ内には、メッセージを表示する場所が1つしかありません。そのため、ビルドに関するメッセージや、プログラム実行時の出力内容などが同じ場所を使うことになります。メッセージが混ざり合うと分かりづらくなってしまうので、どこから発生したメッセージを表示するのかを切り替えられるようになっています。
【出力元】と書かれている部分の右側にある表示領域をクリックして、一覧を表示します。この中から選択した出力元からのメッセージだけが表示されます。
コンパイルエラーが報告されたときなどには、ソースファイルの名前や行数が表示されていることがあります。
このようなメッセージが表示されているときは、その行をダブルクリックするか、【コード内のメッセージを検索】ボタンをクリックすると、エディタのカーソル位置を、該当のソースコードの位置へ移動できます。
あるいは、【前のメッセージに移動】【次のメッセージに移動】のボタンをクリックすると、【出力】ウィンドウ内のカーソル位置を、手前や後ろのエラーメッセージへ移動できます。連動して、エディタのカーソル位置も移動します。
実行時に出力ウィンドウにメッセージを出力するには、Windows が用意している関数を使う必要があります。C言語の printf関数などの結果が出力されるわけではありません。
C言語や C++ では、OutputDebugString関数を使います。<Windows.h> をインクルードして使用します。
【上級】正確には OutputDebugString はマクロであり、UNICODE というマクロの定義の有無に応じて、OutputDebugStringA関数か、OutputDebugStringW関数に置換されます。置換後の関数を直接呼び出しても構いません。
#include <Windows.h>
int main(void)
{
(L"Hello, World\n");
OutputDebugString
return 0;
}
このプログラムをデバッグ実行すると(デバッグ無し実行では出力されません)、【出力】ウィンドウに出力できます。【出力元】は「デバッグ」です。
この関数はあくまでデバッグ用途なので、本番で必要な出力を行うことには使わないようにしてください。また、この関数は Windows 環境でのみ用意されているものですから、ほかのプラットフォームにも対応したプログラムを書いている場合には使えないことに注意してください。
もう1つ、トレースポイントという機能を使って、【出力】ウィンドウへ出力する方法があります。トレースポイントについては、「ブレークポイント」のページで解説しています(トレースポイントは、ブレークポイントの一種です)。
この方法の場合は、ソースコードを変更する必要がありません。
「トレースポイントを使ってメッセージを出力する」の項を追加。
新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |