Saturday, August 28, 2010

Ошибка ли? (продолжение) или разработка под ubuntu

Продолжение поста.

Пока благодаря использованию альфа версии я добился большого роста количества попугаев в своем профайле на Launchpad отвечая кучу вопросов: 'а не хотите ли написать жалобу сообщение об ошибке разработчикам?' -  всегда да и в полном объеме. (Для тех кто не пользуется Ubuntu или у него всегда все хорошо: там дается выбор слать много или отделаться только сокращенной версией?). 

Так быстро (2 недели или 4 выходных) рейтинг на сайтах связанных с разработкой у меня не рос, хотя я не знаю за что он там дается и по какому принципу. На gnome у меня только 5 пунктов. Хотя прогресс все же есть - теперь сообщение о менеджере питания уже не появляется (раньше каждые 5 минут), но ошибка с не запускающимся gdm вовремя остались, хотя по их классификации это проблема с сплешскртном, но я не разбирался, не в этом суть, 3d тоже что-то не очень работает сижу на фреймбуферных дровах. Главное я посмотрел на kerneloops подобная ошибка там есть - значит исправят.

Хотя, я посмотрел на текущие ошибки в следующем релизе федоры там тоже есть ошибка с radeon при установке черненький экранчик - и очень интересно решение, отключайте kms и как следствие и 2(3)d ускорение на видеокарте, ты не один - нас...

А теперь непосредственно продолжение поста.

Для того чтобы найти причину ошибки решил все таки отдебажить код библиотеки, сейчас ее вынесли из состава gtk+, но все таки замены ей не придумали(то есть она еще нужная), что в принципе противоречит популярной сейчас стратегии все засовывать внутрь своего проекта.

Единственные проблема непосредственно ее использовать сложно, так как она используется через gtk. И я решил, а не поставить ли нам полные версии отладочной информации?

Как оказалось это вполне реализуемо:
  • Для отладки вылетания программ рекомендуют ставить также пакеты *-dbg*, но это не совсем помогает может для создания отчета об ошибке этого хватает, но мне бы удобнее было бы ходить по коду и у меня то в общем-то ничего не падает. Для поднятия рейтинга на выше означенном ресурсе подходит, для разработки не очень.
  • Поставить отладочную инвормацию dbgsym, это тоже просто:


    echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" |
    sudo tee -a /etc/apt/sources.list.d/ddebs.list
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01 5E0577F2
    sudo apt-get update
    
    , и ставим что понравилось:-) Но мне опять таки не помогло, или дебагер у меня несколько неправильный или что-то еще, в общем от этой идеи тоже отказался.
  • И наконец самый правильный вариант самому собрать пакеты, тут тоже все просто вглубь gtk заползти удалось.


    apt-get source foo
    apt-get build-dep foo
    dpkg-source -x foo_version-revision.dsc
    fakeroot debian/rules binary
    
    Но не дальше, дебагер отказался находить код для автоматически загружающихся динамических библиотек для распаковки файлов.
Но это уже гораздо ближе к цели.

No comments: