2

私はvala/clutterの開発が初めてで、vala/clutterプログラムをデバッグするためにNemiverをセットアップしようとしています。私は monodevelop を使用して、vala Web ページから clutter-demo の例を編集およびビルドしています。--pkg clutter-1.0 -g --save-temps オプションをコンパイラに渡しています。clutter-debuginfo パッケージがインストールされています (Fedora 16 を使用しています)。プログラムは monodevelop 内から正常に実行されます。

Nemiver から実行可能ファイルを実行すると、以下のコードで整数ループ カウンターなどの特定のローカル変数を確認できますが、r.width 値などのクラッター オブジェクト プロパティの値を確認できません。「r」は clutterRectangle へのタイプ ポインターとしてコンテキスト タブにリストされていますが、横に展開して width プロパティを確認するための + 記号はありません。同様に、コードで r.width を強調表示し、右クリックして変数の検査を選択しても、情報が得られません。

無知で申し訳ありませんが、これを機能させるために私が何をしなければならないか知っている人はいますか?

どんな情報でも大歓迎です

thnx

private void create_rectangles () {
    for (int i = 0; i < colors.length; i++) {     // Nemiver shows the value of int i correctly 
          var r = new Rectangle ();

          r.width = r.height = stage.height / colors.length;  // can't get a value for r.width
          r.color = Color.from_string (colors[i]);
          r.anchor_gravity = Gravity.CENTER;    // *********** My Break Point is set here in Nemiver 
          r.y = i * r.height + r.height / 2;

          stage.add_actor (r);

          rectangles[i] = r;
    }
}
4

1 に答える 1

2

GDB は、vala 構文では機能しません。C クエリを使用する必要があります。おそらく幅と高さはプロパティなので、次のようにする必要があります。

clutter_actor_get_width(r);

また、デバッグの目的で、gcc が最適化をオフにするように -X -O0 を渡すことをお勧めします。

于 2011-12-15T11:22:11.470 に答える