2005.01_Gubed–debugger skryptów w PHP_[Oprogramowanie].pdf
(
476 KB
)
Pobierz
332798367 UNPDF
aktualności
linuxfresh
Gubed
– debugger skryptów w PHP
Piotr Machej
prosty. Owszem, łatwo nauczyć
się podstaw, a wiele rzeczy można
w nim zrobić na wiele sposobów. Pod-
czas programowania może przytrafić
się nam błąd. Szczególnie, gdy pracu-
jemy nad jakimś większym projektem.
W takim przypadku z pomocą przy-
chodzą debuggery. Jednym z nich,
przeznaczonym do analizowania pro-
gramów napisanych w
PHP
, jest
Gu-
bed
.
Do czego może przydać się debug-
ger? Na pewno nie do szukania braku-
jącego nawiasu – do tego w zupełno-
ści powinien wystarczyć dobry edy-
tor z kolorowaniem składni. Jeśli nasz
program działa nie do końca tak,
jak powinien, zapętlając się w nieskoń-
czoność lub, przeciwnie, nie wyko-
nując jakiejś pętli ani razu, to wtedy
właśnie pora na debuggera. Z jego
pomocą możemy prześledzić program
krok po kroku, obserwując zmienia-
jące się wartości zmiennych, i może
w końcu dostrzeżemy, że znów zamiast
==
w warunku wstawiliśmy
=
. Oczy-
wiście, błąd może być zupełnie inny,
i niekoniecznie tak trywialny. Zawsze
jednak mamy większe szanse na zna-
lezienie go obserwując kod podczas
działania.
W przypadku debuggera
Gubed
z pewnością ucieszy nas wiadomość,
że nie są wymagane żadne przerób-
ki w oprogramowaniu serwera, ani
tym bardziej w sprawdzanym ko-
dzie. Co więcej, możemy uruchamiać
Gubed
na innym komputerze niż te-
stowany skrypt. Przykładowo, skrypt
może być uruchamiany na serwe-
rze linuksowym, a sam
Gubed
może
działać na naszym domowym kompu-
terze z
Windows
(
Gubed
działa zarów-
no w środowisku Linuksa, jak i
Win-
dows
).
Instalacja może sprawić nieco pro-
blemu. Tym bardziej, że ze względów
bezpieczeństwa lepiej nie dawać do-
stępu do
Gubed
nieupoważnionym
osobom. Jeśli do naszego kompute-
ra mają dostęp inni użytkownicy (za-
równo zdalny, jak i lokalny), koniecz-
nie powinniśmy przeczytać sekcję
Security
zawartą w pliku
serverse-
tup.txt
. Jeśli jednak nie boimy się za-
grożeń lub potrafimy sobie z nimi po-
radzić, to możemy zabrać się za in-
stalację. Ze strony domowej pobiera-
my plik
Gubed0.1.2.tar.gz
, a następ-
nie rozpakowujemy go. W utworzo-
nym katalogu najpierw zainteresu-
je nas podkatalog
Clients/wxGubed/
.
Wchodzimy do niego i wydajemy pole-
cenia:
./autogen.sh
,
./configure
,
make
.
Jeśli wszystko przebiegnie bez pro-
blemów (w przypadku
Auroksa
wy-
magany jest pakiet
wxGTK-devel
), to
w podkatalogu
src/
powinniśmy zna-
leźć plik o nazwie
gbdwxGubed
. Jest
to nasz klient, z którego będziemy ko-
rzystać.
Teraz pora na umieszczenie kil-
ku plików w głównym katalogu na-
szego serwera
WWW
. W tym celu po-
trzebujemy uprawnień administratora.
Znajdując się w katalogu
Gubed0.1.2/
,
wydajemy polecenie
cp -r Gubed/
/var/www/html/
(zależnie od konfigura-
cji naszego serwera
WWW
, katalog do-
celowy może być inny).
Możemy już uruchomić nasze-
go klienta poleceniem
./gbdwxGubed
.
Oprócz tego, należy uruchomić prze-
glądarkę internetową i wejść do
katalogu, w którym umieściliśmy skry-
pty
Gubed
(np.
http://localhost/Gubed/
).
W ten właśnie sposób będziemy pra-
cować – z pomocą przeglądarki bę-
dziemy podawać, jakie skrypty mają
być testowane (i będziemy obserwować
wyniki działania), a z pomocą klien-
ta będziemy śledzić działanie progra-
mu.
Rysunek 1.
Gubed pozwala zapoznać się dokładnie z działaniem skryptu
44
styczeń 2005
oprogramowanie
M
ówi się, że język
PHP
jest bardzo
FRESH
News
Rysunek 2.
Gubed może zostać zintegrowany z programem Quanta
PostgreSQL AutoDoc 1.24
Program ten pozwala na zapisywanie
do pliku
XML
informacji o bazie
PostgreSQL
, które później mogą
być wykorzystane do stworzenia
diagramu
UML
. Diagram taki (wraz
z relacjami pomiędzy tabelami
i informacjami opisowymi) można
utworzyć wczytując plik
XML
do
programu
Dia
. Oprócz plików
XML
,
możemy zapisywać informacje
o bazie w formatach
HTML
,
GraphViz .dot
, a także
SGML
(
Docbook 4.1
). Program
współpracuje z każdą bazą opartą
na
PostgreSQL 7.x
. W najnowszej
wersji wprowadzono poprawki kilku
błędów.
http://freshmeat.net/projects/
postgresql_autodoc/
MPFC 1.3.3
MPFC
to działający w trybie
tekstowym (w oparciu o bibliotekę
Curses
) odtwarzacz muzyki. Dzięki
wykorzystaniu listy odtwarzania
jest wygodniejszy w użyciu od
programów typu
mpg321
. Program
obsługuje wiele różnych formatów
plików (wykorzystuje w tym celu
wtyczki). W nowej wersji znacznie
poprawiono system konfiguracji
i wprowadzono dowiązania klawiszy.
http://freshmeat.net/projects/mpfc/
Exobius 0 0.3
Grając w rozbudowane gry
z trójwymiarową grafiką,
czasem zapominamy o prostych
strzelaninach, od których wszystko
się zaczęło. Próbą stworzenia takiej
dwuwymiarowej gry jest właśnie
Exobius 0
. Gra zawiera obecnie 13
poziomów, wypełnionych broniami
i przeciwnikami. Pomimo wczesnej
fazy rozwoju, gra jest już w pełni
funkcjonalna – można przechodzić
ją od początku do końca.
Największym mankamentem jest
niedokończona grafika, która jednak
ma zostać poprawiona w następnych
wydaniach. Warto zainteresować się
tym tytułem, a może nawet wesprzeć
autora w jego wysiłkach.
http://freshmeat.net/projects/
exobius0/
Thunder&Lightning 041013
Thunder&Lightning
to futurystyczny
symulator lotu. Pozwala nam zasiąść
za sterami myśliwca i toczyć walki
zarówno z innymi samolotami, jak
i z czołgami. Ładna, trójwymiarowa
grafika z pewnością ułatwi wczucie
się w grę. Program jest wciąż w fazie
rozbudowy – dopiero niedawno
został udostępniony publiczności.
Najnowsza wersja działa również
pod Windows. Obecnie można
latać jednym z dwóch dostępnych
samolotów (tytułowe
Thunder
i
Lightning
), lecz w przyszłości
autor zamierza udostępnić więcej
typów maszyn.
http://freshmeat.net/projects/tnl/
Przy pierwszym korzystaniu z
Gubed
warto uruchomić testy. Pozwoli to na za-
poznanie się z możliwościami progra-
mu. W tym celu na wyświetlonej stronie
należy wybrać odnośnik znajdujący się
w sekcji
Gubed tests
. Jeśli później zdecy-
dujemy się testować własne skrypty, to
skorzystamy z odnośnika
specify script to
debug
(albo od razu wejdziemy na stronę
http://localhost/Gubed/StartSession.php
).
Mamy do dyspozycji cztery grupy
testów. O każdym z nich możemy
najpierw poczytać. Drugi odnośnik
pozwala na uruchomienie skryptu bez
udziału debuggera – dzięki temu mo-
żemy zaobserwować jego działanie
i wynik. Trzeci odnośnik to wykonanie
skryptu pod kontrolą
Gubed
. Po jego wy-
wołaniu należy przełączyć się na klienta.
Musimy bowiem zdecydować, czy chce-
my obserwować wykonanie krok po kro-
ku (przyciski
Step
), czy też wolimy po-
zwolić skryptowi się wykonywać – przy-
cisk
Run
. W tym drugim przypadku za-
wsze możemy wcisnąć przycisk
Pause
.
Warto przeczytać wszystkie wprowadze-
nia do testów. Pouczają one między in-
nymi o ustawieniach dotyczących reago-
wania na pojawiające się błędy. Wykonu-
jąc po kolei testy, nauczymy się korzystać
z punktów kontrolnych (
breakpoint
), ob-
serwować wywołania funkcji (tu przy-
dadzą się przyciski
Step Over
,
Step Into
i
Step Out
), konfigurować
Gubed
tak, aby
zwracał uwagę na konkretne błędy oraz
będziemy mieli okazję śledzić wartości
zmiennych i ustawiać warunkowe punk-
ty kontrolne.
Analizowanie własnego skryptu
przebiega bardzo podobnie do tego,
co robiliśmy w czasie testów. Skrypt
należy umieścić gdzieś pod głównym
drzewem katalogu serwera
WWW
(a więc w naszym przykładzie w pod-
katalogu katalogu
/var/www/html/
).
Następnie ścieżkę do niego podaje-
my na stronie
http://localhost/Gubed/
StartSession.php
, po czym wciskamy
przycisk
Debug
i przechodzimy do
okna klienta
Gubed
. Tutaj możemy do
woli analizować go krok po kroku, lub
też ustawić punkty kontrolne w wątpli-
wych miejscach i pozwolić mu się wy-
konywać.
W najnowszej wersji wprowadzono
funkcje
Step over
(wykonuje funkcję,
lecz nie śledzi jej wykonania),
Step out
(śledzi wykonanie funkcji krok po kro-
ku) oraz
Backtrace
. Oprócz tego, po-
prawiono otwieranie skryptów z klien-
ta oraz dodano listę historii do
Start-
Session
.
http://freshmeat.net/projects/gubed
Rysunek 3.
Gubed analizujący skrypt PHP
www.lpmagazine.org
45
Plik z chomika:
SOLARIX33
Inne pliki z tego folderu:
2005.01_Dvdrip–ripper płyt DVD_[Oprogramowanie].pdf
(212 KB)
2006.10_Linux i komunikatory multimedialne_[Oprogramowanie].pdf
(2422 KB)
2006.10_Texmaker – edytor dla systemu LaTeX_[Oprogramowanie].pdf
(316 KB)
2006.10_Stream Ripping pod Linuksem_[Oprogramowanie].pdf
(1246 KB)
2006.08_Gremial_[Oprogramowanie].pdf
(478 KB)
Inne foldery tego chomika:
Administracja
Aktualnosci
Audio
Bazy Danych
Bezpieczenstwo
Zgłoś jeśli
naruszono regulamin