F3llony Posted August 15, 2013 Report Share Posted August 15, 2013 Oh my... Quote Link to comment Share on other sites More sharing options...
jurchiks Posted August 15, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
daGrevis Posted August 15, 2013 Report Share Posted August 15, 2013 Kādā vēl produkcijā? Ko tu tur pīpē? Quote Link to comment Share on other sites More sharing options...
F3llony Posted August 15, 2013 Report Share Posted August 15, 2013 Debugers, breikpointi, callstack, variable watch... Šīs visas izskatās pilsoņiem ir pilnīgi svešas lietas. Quote Link to comment Share on other sites More sharing options...
codez Posted August 15, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
rATRIJS Posted August 15, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
daGrevis Posted August 15, 2013 Report Share Posted August 15, 2013 Tas kkā ir iegājies, ka `print x` ir slikts un neefektīvs veids. Tā nav. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted August 15, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
Kavacky Posted August 15, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
jurchiks Posted August 15, 2013 Report Share Posted August 15, 2013 Nu, tas ir mans opinion, katram savs. Quote Link to comment Share on other sites More sharing options...
F3llony Posted August 15, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
rpr Posted August 16, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
F3llony Posted August 16, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
rpr Posted August 16, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
F3llony Posted August 16, 2013 Report Share 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 Link to comment Share on other sites More sharing options...
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.