home processing download documents tutorial python tutorial gallery source about
 チュートリアル (トピック一覧へ戻る)

デバッグ

     コンパイルのエラー

Processingスケッチを実行する際、そのスケッチは内部的にはまずコンパイルという段階を経てから 実際に実行されます。そこではテキストファイルのスケッチが実行可能なバイナリファイルに変換されます。 実行時に加えて、このコンパイル中にもエラーが発生しえます。そのようなコンパイルエラーが発生した際、 PDE(Processing Development Environment)はそのエラーの発生した行をハイライトし、 スケッチの実行を中止します。

import processing.opengl.*;
import igeo.*;

size( 480, 360, IG.GL );

int i=0

上記のスケッチでは、文末のセミコロン(;)の欠落がコンパイルエラーを発生させています。 PDEは画像のようにエラーの発生した行を強調し、あなたが問題の箇所を簡単に突き止められ るようにします。


     プリント・デバッグ

上記のような実行前に発生するエラーに加え、実行中にエラーが発生することもあります。 そのような場合に備えるため、問題が予測される箇所でコンソール(画面下部の黒い部分)に 実行中の情報を出力させるようプログラムすることがあります。 このことをここではプリント・デバッグと呼びます。
System.out.println()関数にメッセージを渡すことで、 そのメッセージがコンソールに出力されます。あるいはIG.p()関数も同様の役割を持ちます。

多くの場合、使用中の変数を出力することで、プログラムの状態を監視するために用いられます。ま た、If文などの内部で空の出力をすることで、制御の流れを確認することもあります。

import processing.opengl.*;
import igeo.*;

size( 480, 360, IG.GL );

int i=10;

IG.p("initial value of i =" + i );

i = 20;

IG.p("value of i at check point 1=" + i );

i = i*2;

IG.p("value of i at check point 2=" + i );

i = (i-i*2+3)/2;

IG.p("value of i at check point 3=" + i );

String(文字列)オブジェクトとその他の文字列化可能なオブジェクトは"+"演算子で連結できます。

上記の出力では"sketch_tutorial.setup: "のようにメッセージが渡された箇所の情報が共に表示されます。 複数の箇所で同じようなメッセージが出力される際に、それぞれの箇所の特定に役立ちます。 なお、これはIG.disablePrintPrefix()関数で非表示にすることができます。


(トピック一覧へ戻る)

HOME
FOR PROCESSING
DOWNLOAD
DOCUMENTS
TUTORIALS (Java / Python)
GALLERY
SOURCE CODE(GitHub)
PRIVACY POLICY
ABOUT/CONTACT