jurchiks Posted August 15, 2013 Report Posted August 15, 2013 Nu kam tad vēl viņš drukā ārā <pre>some array</pre>? Es nedomāju, ka tādas lietas dara productionā, neskaitot kaut kādus code viewerus. Quote
daGrevis Posted August 15, 2013 Report Posted August 15, 2013 Kādā vēl produkcijā? Ko tu tur pīpē? Quote
F3llony Posted August 15, 2013 Report Posted August 15, 2013 Debugers, breikpointi, callstack, variable watch... Šīs visas izskatās pilsoņiem ir pilnīgi svešas lietas. Quote
codez Posted August 15, 2013 Report Posted August 15, 2013 debugošana ar breakpointiem un variable watchu reti kad ir efektīvākais veids. Bieži izdrukājot masīvu vai citu datu saturu vienu vai vairākas reizes, var daudz ātrāk saprast, kas notiek programmā. Tas, kur šo saturu drukāt, jau ir cits jautājums. Pat sacensībās kodējot uzdevumus c++, kur debugošana, iešana pa soļiem un variable watch izmantošana ir elementāra, lielākā daļa kļūdas programmā meklē drukājot starprezultātus, jo tā var daudz precīzāk un ātrāk iegūt tieši tos datus, kurus vajag. Quote
rATRIJS Posted August 15, 2013 Report Posted August 15, 2013 Nu lielākoties ātrs var_dump vai print_r ir ātrāks par debug sesijas startēšanu un tās izmantošanu. Es gan nesaku, ka, piemēram, xDebug nav sava vieta pasaulē. Īpaši vēl neapzinātās sistēmās. ( pieļauju, ka drīz vajadzēs šo tēmu splitot jaunā kad sāksies flame war ) Quote
daGrevis Posted August 15, 2013 Report Posted August 15, 2013 Tas kkā ir iegājies, ka `print x` ir slikts un neefektīvs veids. Tā nav. Quote
jurchiks Posted August 15, 2013 Report Posted August 15, 2013 (edited) Tas, kur šo saturu drukāt, jau ir cits jautājums. Tas principā arī bija tas, par ko es runāju. Es parasti izmantoju tādām lietām savu logger interfeisu (Logger::debug(whatever, you, want)). Es nebiju domājis tādu kārtīgu debugošanu ar IDE u.c. tūļiem, vienkārši tāda variabļu printēšana pa vidu normālajam outputam lapā man neliekas laba doma. Edited August 15, 2013 by jurchiks Quote
Kavacky Posted August 15, 2013 Report Posted August 15, 2013 Tu vienlaicīgi vari atjaunināt saturu browserī + uzreidz redzēt debug outputu. Nav pat jāpārfokusē acis uz otru ekrānu. Quote
jurchiks Posted August 15, 2013 Report Posted August 15, 2013 Nu, tas ir mans opinion, katram savs. Quote
F3llony Posted August 15, 2013 Report Posted August 15, 2013 Tu vienlaicīgi vari atjaunināt saturu browserī + uzreidz redzēt debug outputu. Nav pat jāpārfokusē acis uz otru ekrānu. Piemēram, man nekas vispār nekur nav jafokusē. Viss ir tur, kur man tas liekas ērti. Redzu kodu, redzu output, redzu mainīgo vērtības un ar visiem breikpointiem utt. izvirtībām. Rakstīt "i am here" un print_r, kas pēc tam jāmēģina izpīpēt izvadē, ir well, neefektīvi. Pie tam, kā tu debugosi, piemēram, produkciju ja kaut kādu iemeslu dēļ nevari atsekot kļūdu testā/lokāli? Rakstīsi if remote_addr == mana {print_r }? :) Quote
rpr Posted August 16, 2013 Report Posted August 16, 2013 Lai tādā veidā debugotu, tev tik un tā vienmēr jāpārslēdzas uz index.php un tad vēl iespējams kaut kur jāklikšķina, lai nonāktu kaut kur vajadzīgajā vietā. vai tā nav? Kāda ir prakse? Man tas internal browser liekas pārāk lēnu un vispār F11 ne vienmēr nostradā, iespējams es kaut kādu vecu versiju lietoju, bet nu tās jaunākās vienkārši ir pārāk resursu rijīgas. Quote
F3llony Posted August 16, 2013 Report Posted August 16, 2013 Kāpēc jāpārslēdzas? Process sekojošs - piemēram, tev ir kaut kāds kontrolieris, kurā ir bugs, kuru gribi notestēt - saliec breikpointus un watchus uz mainīgajiem, ko gribi vērot (tas ir pāris kliku jautājums), nospied debug un voila - skripts izpildās līdz pirmajam breikpointam, iedod tev mainīgo saturu, tad continue līdz nākamajam un tā tālāk. Tā var atsekot infinite mainīgos un infinite izpildes ceļus. Vari skatīties mainīgos pirms un pēc metožu izpildes utt utjp. Visu iespējams nokonfigurēt lai nebūtu 100 reizes jākliko pa lapu, taču ne vienmēr - IDE arī nav maģiskais kociņš. Par internal browseri - pričom te ātrums? Tev ir jādebugo nevis kas. Man ar iebūvēto viss ir puslīdz okei. Protams, nav tā nekāda chrome, bet ir okei. Quote
rpr Posted August 16, 2013 Report Posted August 16, 2013 Pārslēgties es domāju uz index.php tabu, jo ja debugo klasi, pieņemsim, ka katra failā viena klase, tad tu tos breikus vari likt cik gribi, bet klase jau netiek nekur inicializēta kā'objekts un nekas nenotiek. Quote
F3llony Posted August 16, 2013 Report Posted August 16, 2013 Par ko tu tur runā? Ja kods netiek izsaukts, protams, tas netiek izsaukts. Debugot protams var tikai izsaucamu kodu, tā pat kā ar print_r. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.