Как се дебъгва код, в който няма как да сложиш breakpoint и не знаеш каква грешка дава. Само знаеш кой е файла, който гърми… при това гърми така, че нищо в него не се изпълнява, така че print-ове не помагат. Това, което аз измислих беше, да оградя 99% от кода в

if (false){
// 99% от кода
}

да видя че този 1% работи и след това да местя if statement-а надолу постепенно разкривайки все повече код, докато го хвана къде се дъни.
Сега ми изглежда смешно, ама вчера хич не ми беше забавно :-(

Ако някой има по-добра идея как мога да постъпя следващия път в подобна ситуация, моля да сподели :-)

14 Responses to “Дебъгване”

  1. за местенето – трябва да е максимално оптимизирано, което ще рече постоянно делене на половинки за най-бърз резултат :)) това го прилагам в SQL-и преди всичко де :)))

  2. на какво е писано това нещо?

    без някакъв удобен механизъм да си ловиш и управляваш грешките просто не виждам начин изобщо да програмираш ;/

  3. Не питай… тъжна история …

  4. добре де, средата не поддържа ли tracing ? Или само на мен това ми звучи по-нормално от това да базикаш кода ? А и между другото, не е ли по-лесно кода, който не ти трябва да го изкоментираш и после само да местиш началото на коментара ?

  5. Ами това е един измислен език, който е разширение на HTML с още тагове и чудесии, а за капак, бях набутала java код вътре. Специално темплейтите писани на този език, не могат да се дебъгват.

    А дали ще го закоментирам, или ще го оградя с if(false){}, май е почти един и също :-)

  6. Значи имаш ценен урок какво не бива да ти се случва вбъдеще като код :)

  7. Тоя урок ми отне 4 часа… а ако можеше да се дебъгва нормално, щеше да е 5мин….

  8. Понякога се налага да се работи в среда, каквато не е добра идея да се ползва… Примерно, съобразяване със стара CMS система, или нещо друго…

    Аз така преди време какви ли не еквилибристики правех, защото редактирах .shtml файлове (SSI), а всички файлове в CMS системата иначе бяха .php3 и да не ти казвам, как под SSI се пишат прости неща от рода на PHP еквивалентите на if {} else {} ;-)

    Е, накрая открих синтаксиса, де … и позакърпих нещата, но си представям, ако трябваше да пиша нещо по-сложно… къв дебъг, кви пет лева… :)

    Така че — случва се да не можем да си определяме сами средата.. и правим, каквото можем тогава… :)

  9. В подобни случаи printf() или подобна нему функция ти става пръв приятел – ползвам го вместо trace :) , за да видя къде точно се ми се дъни кодът. Ползвам го и в комбинация с if(0) или #if 0.

  10. print-a не вършеше работа, щото цялото нещо гръмваше и не принтираше абсолютно нищо :-(

  11. Добре дощла в света на http://worsethanfailure.com/

  12. аз харесвам try { … } catch .. стига да има възможност. в javascript обичам: catch + alert(e) ..
    за останалото често ползвам print / echo “blah” и местя индикатора докато грешката не се появи първа ;)

  13. i v kraina smetka kak go debug tova neshto?

  14. Помислих че пишеш на С/С++, но все пак да кажа:

    __asm int 3;

    Слагаш го където искаш да има break point.

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree

© 2013 iffi Suffusion theme by Sayontan Sinha