Отсутствует информация отладки при отладке программы vala / clutter в Nemiver - PullRequest
2 голосов
/ 13 декабря 2011

Я новичок в разработке vala / clutter и пытаюсь настроить Nemiver для отладки моих программ vala / clutter.Я использую monodevelop, чтобы редактировать и собирать демо-пример с веб-страницы vala.Я передаю компилятору параметры --pkg clutter-1.0 -g --save-temps.У меня установлен пакет clutter-debuginfo (я на Fedora 16).Программа работает нормально изнутри monodevelop.

При запуске исполняемого файла из Nemiver я могу просматривать определенные локальные переменные, такие как счетчик целочисленных циклов в приведенном ниже коде, но я не вижу значения для свойств объектов беспорядка, таких какв качестве значения r.width.Хотя «r» указывается на контекстной вкладке как указатель типа на clutterRectangle, рядом с ним нет знака +, чтобы развернуть и посмотреть на свойство width.Точно так же, когда я выделяю r.width в коде и щелкаю правой кнопкой мыши и выбираю inspect variable, я не получаю никакой информации.

Простите мое невежество, но кто-нибудь знает, что я должен сделать, чтобы сделать эту работу?

Любая информация вообще приветствуется

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;
    }
}

1 Ответ

2 голосов
/ 15 декабря 2011

GDB не работает с синтаксисом vala. C запросы должны быть использованы. Вероятно, ширина и высота являются свойствами, поэтому вы должны сделать что-то вроде:

clutter_actor_get_width (г);

Также для целей отладки лучше передать -X -O0, чтобы gcc отключил оптимизацию.

...