Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> debug_backtrace i lista argumentow
rzseattle
post 19.05.2005, 22:43:34
Post #1





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Witam

Ostatniego czasu postanowilem ulepszyc moje logowanie bledow o backtrace. Dolozylem dodatkowe pole w tabelce, w error handlerze dodalem zapis zserializowanej tablicy do bazki, oraz formatowanie outputu dla poozniejszego wgladu w logi. Postanowilem przetestowac i juz wydawalo sie ze wszystko chodzi jak powinno gdy zauwazylem ciekawa rzecz. Otoz pierwszy log wygladal nastepujaco:

Cytat
engine._callAction("1163")
# line 46, file: C:\htdocs\arrow\index.php


Mysle sobie "co do cholery?" . Jakies 15 minut szukalem akcji o tym numerze kiedy wkoncu zajzalem do wspomnianego w logu pliku i okazalo sie ze linia nr 46 wyglada nastepujaco:
  1. <?php
  2.  $engine->_callAction( &#092;"templates/showFromDb\", (isset($engine->_io->_input[\"pid\"]))?$engine->_io->_input[\"pid\"]:false, 1 );
  3. ?>


Pomyslalem ze popelnilem blad w formatowaniu outputu z tablicy ale po wyprintowaniu samej tablicy rzeczywiscie to wywolanie mialo tylko jeden argument.

Moze ktos orientuje sie dlaczego pierwszy i trzeci argument nie zostal uwzgliedniony przy debugowaniu?


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
NuLL
post 19.05.2005, 23:16:23
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


W debug_backtrace było sporo bugów jeszcze nie tak dawno.
Nie wiem czy nie znajdziesz w notkach pod spodem w mmanualu.

Aha smile.gif
Spróbuj wypisać zawartość stałych __LINE__ oraz __FILE__ - może to rozwiąże twój problemik cool.gif ale głowy nie dam.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
rzseattle
post 19.05.2005, 23:34:39
Post #3





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Cytat(NuLL @ 2005-05-19 23:16:23)
Aha smile.gif
Spróbuj wypisać zawartość stałych __LINE__ oraz __FILE__ - może to rozwiąże twój problemik cool.gif ale głowy nie dam.

Nie o to teraz chodzi ze nie moge zdefiniowac jakiegoś tam bledu winksmiley.jpg. Chodzi o to, że boje się o to, że w przyszłości taki debug może sprawiać problemy kiedy naprawdę będe potrzebował prześledzić działanie aplikacji. Niestety narazie już przy pierszym odczycie taki log potrafił mnie zbić z tropu.


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
NuLL
post 20.05.2005, 09:21:44
Post #4





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


A nie lepiej ci skorzystać z wyjatków ? Przecież tam masz wszystko łącznie z debug_bakctrace i wszelkimi informacjami smile.gif
Nie musisz pisać wszędzie try/catch - wystarczy tylko, że będziesz korzystał z throw i przypniesz wlasny nandler wyjątków.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
rzseattle
post 20.05.2005, 10:02:23
Post #5





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Trzeba rozroznić błędy i wyjątki. Wyjątki są generowane na rzyczenie programisty kiedy pojawiają się ściśle określone błędy, czyli takie, które są z góry przewidywane. Natomiast zwykłe błędy pojawiają sie w sposób przypadkowy ( najprostszym przykladem jest notice ). Trudno sprawdzać wszystko więc połączenie wątków i zwykłego error handlera daje najlepsze rezultaty. Ale chyba troche odbiegamy od tematu .. Ale coraz bardziej mi to wyglada na typowy bug.


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
Imperior
post 20.05.2005, 13:01:36
Post #6





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.10.2004

Ostrzeżenie: (0%)
-----


Cytat(rzseattle @ 2005-05-20 09:02:23)
Natomiast zwykłe błędy pojawiają sie w sposób przypadkowy ( najprostszym przykladem jest notice ).

laugh.gif biggrin.gif laugh.gif biggrin.gif laugh.gif biggrin.gif
Tego chyba jeszcze nikt nie opatentował nawet w Satanch:
mechanizm losowego wywalania błędów mających na celu irytować programistę!


--------------------
Com powiedział, powiedziałem.
Go to the top of the page
+Quote Post
rzseattle
post 20.05.2005, 19:12:50
Post #7





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Cytat(Imperior @ 2005-05-20 13:01:36)
Cytat(rzseattle @ 2005-05-20 09:02:23)
Natomiast zwykłe błędy pojawiają sie w sposób przypadkowy ( najprostszym przykladem jest notice ).

laugh.gif biggrin.gif laugh.gif biggrin.gif laugh.gif biggrin.gif
Tego chyba jeszcze nikt nie opatentował nawet w Satanch:
mechanizm losowego wywalania błędów mających na celu irytować programistę!

Ciekawa interpretacja zdania. offtopic.gif


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
NuLL
post 20.05.2005, 19:21:07
Post #8





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


@matid - nie pisz bzdur dry.gif

A wracając do tematu - ja też bym obcował za tym, że jest bug w samym php sad.gif


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 17:09