Ścibor Ł.

Ścibor Ł. IT M&A specialist

Temat: śledzenie kodu

Witam,
dostałem w ręce kod napisany tak skomplikowanie, że ciężko się to czyta. W związku z tym mam pytanie - ponieważ PHP to język interpretowany, więc teoretycznie powinna być gdzieś możliwość przejrzenia kodu tak jak jest on wykonywany? Chodzi mi o coś w stylu phps - tylko po sparsowaniu wstępnym kodu (np. zamiast a . $y . b --> axb, zamiast eval($funkcja_dyn) eval('strstr(..')

Jakieś pomysły?

konto usunięte

Temat: śledzenie kodu

Może z innej strony, xdebug ? zobaczysz jak przebiega działanie kodu.

konto usunięte

Temat: śledzenie kodu

Również polecam Xdebug. Na http://devzone.zend.com/article/2803 znajdziesz kilka pomocnych artykułów ;-)Patrycjusz Omiotek edytował(a) ten post dnia 25.01.10 o godzinie 17:55
Ścibor Ł.

Ścibor Ł. IT M&A specialist

Temat: śledzenie kodu

xdebug też znalazłem (mogłem był napisać w sumie) - niemniej to aż za dużo na to czego potrzebuję - uzyskany trace tegoż programu jest ciężki do analizy. A ja chcę po prostu zopbaczyć konkretne linie kodu :) Może to można zrobić xdebugiem, ale nie znalazłem takich ustawień, które by mi na to pozwoliły (albo nie umiem czytać). Najbliżej byłem przy xdebug.collect_params=3...

Kolega zaproponował mi, żeby wgryzł się w źródło PHP i zmienił sobie delikatnie źródła funkcji (dokładnie chodzi o eval), ale nie chciałbym się bawić tak głęboko jesli nie będzie to konieczne... ;-)

konto usunięte

Temat: śledzenie kodu

Ścibor Łąpieś:
A ja chcę po prostu zopbaczyć konkretne linie kodu :)

Więc może środowisko "PHP debug" w Eclipe PDT (wykorzystując np XDebug - nie pamiętam, czy ten artykuł jest dobry, bo z niego nigdy nie korzystałem, integrowałem po swojemu :P). Z tego, co się orientuję, to w netbeans jest również środowisko php debug wykorzystujące xdebug, ale nie korzystałem...Patrycjusz Omiotek edytował(a) ten post dnia 25.01.10 o godzinie 21:50
Paweł G.

Paweł G. Managing Director

Temat: śledzenie kodu

Patrycjusz Omiotek:to w netbeans jest również
środowisko php debug wykorzystujące xdebug, ale nie > korzystałem

Zgadza się, NetBeans'a też możemy zintegrować z xdebug. Wystarczy tylko wybrać skrypt, kliknąć 'debug' i już można śledzić, co tam się dzieje w naszym skrypcie.
Łukasz Ważny

Łukasz Ważny winning doesn't
really matter as
long as you win

Temat: śledzenie kodu

W xdebug jest możliwość zapisania trace_log'a do pliku, będziesz tam widział wszystko co się dzieje w php'ie, wraz z zagnieżdżeniem i konkretnym miejscem wywołań.

Natomiast jeżeli wiesz w którym miejscu dzieje się coś złego, ale nie bardzo wiadomo dlaczego dana funkcja/metoda została wywołana możesz w niej dopisać


throw new Exception();


Rozwiązanie dość rolnicze, natomiast skuteczne i da Ci wiedzę na temat tego co działo się wcześniej :)
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: śledzenie kodu

Łukasz Ważny:

throw new Exception();


Rozwiązanie dość rolnicze, natomiast skuteczne i da Ci wiedzę na temat tego co działo się wcześniej :)

jeśli masz projekt w symfony < 1.3 , polecam throw new sfException() i pracę w dev. Najszybszy debuger :-)

konto usunięte

Temat: śledzenie kodu

Czemu nie sięgnąć do 'źródła'?
Jak Zend Engine, to pewnie powinien być Zend Debugger, no i jest.

Zend Studio w wersji trial można stargać bez problemu ze strony Zenda. Polecam ich dziecko czyli Zend Studio 5.5.1 (żadne Eclipsowe badziewie)
Do tego skonfigurowany (też trial) Zend_Platform z Zend_Debuggerem i Zend_Profilerem.

Cud, miód i orzeszki.

Zend_Studio łączy się z Platform, Debugger hula i Profiler profiluje. Pokazuje czasy wykonywania poszczególnych modułów, fragmentów kodu itd itp. Można stawiać breakpointy, uruchamiać kod step-by-step.

I wszystko w wersji trial - 30 dni wystarczy pewnie.

O to chodziło?

Następna dyskusja:

Pytanie nt. praw do kodu




Wyślij zaproszenie do