モニターが 1 つしかない場合、画面全体を使用するプログラム (DirectX アプリケーションなど) をデバッグする最良の方法は何ですか? このコンテキストでは、ステップバイステップ デバッガーなどのツールは役に立たないようです。また、アプリケーションが終了してからしかコンソールを見ることができないため、コンソールへの出力はそれほど効果的ではありません。
6 に答える
リモートデバッグはオプションではありませんか?
それ以外の場合は、2 台目のモニター (ビデオ カード付き) を借りることができます。
他のすべてが失敗した場合は、ビープ信号に戻ることができます。
(または、古いマトリックスプリンターを見つけて、各行をプリンターに書き込みます;-))
ランタイム情報を表示するには、全画面表示でデバッグ テキストをオーバーレイします。私だったら、アプリをウィンドウで実行できるようにしますが、オンスクリーン デバッグはプレイ テストに適しています (これがゲームの場合)。
BCS の発言に同意し、SysInternals の DebugViewを使用すると、別のマシンからリモートで接続できることを追加します。
ウィンドウ モードでコードの 99% をテストできます。その後、フルスクリーンで実行する必要がある部分については、フルスクリーンにジャンプし、いくつかのテストを実行し、すぐに戻ることができます (プログラムまたは alt-tab を使用)。
基本的に、ほとんどのコードはフルスクリーンに依存せず、小さなウィンドウでテストできることを強調したいと思います。
http://www.flounder.com/gdi.htmにあるグラフィカル開発者インターフェイスに関する Joseph Newcomber のエッセイを読むことを検討してください。
MFC でコーディングしていないかもしれませんが、役立つアイデアを得ることができるはずです。他にも興味深い記事がたくさんあります。
printf のデバッグは遅く、苦痛を伴い、簡単に実行できます。
次のようなトレース行でコードを埋めます
fprint(logfile,"%s:%d\n",__FILE__,__LINE__);
または、言語に必要な給水器を実行して実行します。完了したら、それが何をしたかを見ていくことができます。ただし、最初に十分な時間とハードドライブの空き容量があることを確認してください。物事を逆方向に「実行」して、ある実行を次の実行と比較できるなど、いくつかの利点があります。