| Dokumentacja Fluxbox | ||
|---|---|---|
| Prev | ||
Odpluskiwanie jest umiejętnością, której można się nauczyć. Jest kilka dobrych dokumentów opisujących jak pisać dobre zgłoszenia błędów. Przeczytaj je uważnie zanim napiszesz jakieś zgłoszenie - "twój" błąd nie ucieknie i cię nie zabije. To my go chcemy zabić i dlatego potrzebujemy twojej pomocy :-). Więc stań do walki dobrze przygotowany. Oto dwa, całkiem przyjemne dokumenty: Bugzilla Bug Reporting HOWTO i How to Report Bugs Effectively autorstwa Simona Tathams.
Z powodu natury niektórych nieoficjalnych łatek, nie możemy ich wszystkich wspierać. To oznacza, że powinieneś sprawdzić, czy Fluxbox działa błędnie bez nałożonych łatek. Jeśli łatki zostały nałożone przez jakiegoś opiekuna pakietów w danej dytrybucji, skontaktuj się z nim w tej sprawie.
Jeśli potrzebujesz więcej pomocy w odpluskwianiu niż jest jej dostarcza ten przewodnik, możesz sprawdzić, czy ludzie na #fluxbox na irc.freenode.net będę w stanie ci pomóc. Zazwyczaj są tam główni programiści jak i wiele, wykwalifikowanych ludzi, więc masz duże szanse na pomoc.
Tak jak wiele innych aplikacji, Fluxbox wysyła wiele komunikatów na konsolę, z której został uruchomiony. Problemem jest to, że zazwyczaj cały wynik idzi na konsolę tekstową. Zmień linię startujące Fluxboksa na exec xterm lub jakikolwiek jest twój ulubiony emulator terminala. Uruchom X11 i wystartuj Fluxboksa z okienka xterm i jak widzisz, wszystkie komunikaty Fluxboksa się na niej pojawiają.
Musimy wiedzieć wiele rzeczy. Upewnij się, że wiesz o nich wszystko.
Twój system operacyjny / dystrybucja i jego / jej wersja.
Wersja Fluxboksa, a jeśli jest z CVSu (paczka dla programistów), to z którego dnia?
Kiedy to się stało? Czy coś robiłeś w tym czasie? Czy możesz powtórzyć to zachowanie?
Twoje ustawienia. Są w pliku ~/.fluxbox/init
Jeśli kiedykolwiek Fluxbox zrzuci rdzeń, zrób co następuje: wejdż na kanał #fluxbox na OPN i powiedz fluxgenowi, że masz zrzucony rdzeń. Podaj mu wszystkie informacje, o jakie cię poprosi. Pewnie też poprosi cię, żebyś zrobić poniższe. Jest to dosyć dużo pracy, ale każdy z odpowiednim wyczuciem i doświadczeniem z Uniksem jest w stanie to zrobić. Aha, potrzebujesz też odpluskwiacza GNU, zwanego gdb.
Dokładnie, ale czytaj dalej. By zostać prawdziwym poszukiwaczem błędów, musisz przebudować Fluxboksa z symbolami debugującymi.
Skompiluj Fluxboksa jak zwykle, ale dodaj poniższe opcje podczas budowania:
$ CFLAGS=-Wall -g3 CXXFLAGS=-Wall -g3 make
Jeśli używasz pakietów źródłowych RPM ze strony Fluxboksa lub ze swojej dystrybucji, możesz zrobić poniższe:
$ su
# rpm -ivh fluxbox-0.1.11.1mdk.src.rpm
# cd /usr/src/RPM/SPECS
# env DEBUG=true rpm -ba fluxbox.spec
# rpm -Uvh --force /usr/src/RPM/RPMS/i686/fluxbox*
# exit
$ mkdir -p ~/src/fluxbox
$ cp -R /usr/src/RPM/BUILD/fluxbox* ~/src/fluxboxPrzejdź do katalogu z Fluxboksem (żebyśmy otrzymali rdzeń w dobrym miejscu). Powłowa ma całkiem fajną funkcję, dzięki której można m.in. wyłączyć zrzucanie rdzenia. My użyjemy go, do włączenia zrzucania:
$ ulimit -c unlimited
Uruchom X11 i zacznij szukać błędów. Rób wszystko to, co sprawi, że Fluxbox zrzuci rdzeń. Jak już go otrzymasz, rozpoczniemy odpluskwianie:
$ gdb fluxbox core
Teraz wpisz poniższą komendę w gdb (pierwsza część to zgłoszenie gdb, nie pisz jej :)):
(gdb) where
W tym momencie otrzymasz masę tekstu jako wynik. Fluxgen chce znać cały wynik zaczynając od #.
Teraz wklej to do emaila, którego napiszesz do fluxgena i dołącz swoje pliki z ustawieniami z katalogu ~/.fluxbox.
Nie usuwaj jeszcze rdzenia, ani katalogu z kodem źródłowym. Fluxgen może zadać ci jeszcze kilka pytań, a później będziesz ich potrzebować. Nie wysyłaj rdzenia, jeśli fluxgen tego specjalnie nie zaznaczy, ponieważ jest on specificzna dla twojego systemu i prawdopodobnie nie będzie dla niego przydatki. No i rdzenia najczęściej są pokaźnych rozmiarów.