Отстраняване на грешки функции в Битрикс d7

В основата на D7 се появи сравнително удобни вградени диагностични възможности на кода. Те са представени от именно пространство Битрикс \ Основни \ Diag, съкратени в следните примери:

Отстраняване на грешки в SQL-заявки

В основата на D7 да следите SQL-заявки използва т.нар SQL-тракера. При използване на тракера при всяка заявка към базата данни (метод Битрикс \ Main \ DB \ Connection :: queryInternal) в тракер писмено искане, а времето за начало и край на времето. Tracker е клас обект Diag \ SqlTracker.

За тракера и включването на следене на обект, за да получите текущата връзка и се обадете на метод startTracker:

След разговора, преди обаждането startTracker stopTracker всички искания ще бъдат наблюдавани. Всяко искане е представено от един обект от клас Битрикс \ Main \ Diag \ SqlTrackerQuery, чието събиране може да бъде получена по метода на повикване Diag \ SqlTracker :: getQueries

За да изчистите данните от тракера и да започне нов път, трябва да се обадите startTracker аргумент $ нулиране = вярно:

Пример проследяването на исканията при получаване на информация блокови елементи:

Трябва да се отбележи, че тракерът не проследява искания, направени от старото ядро.

Показва съдържанието на променлива към екрана

Diag \ Debug :: сметище ви позволява да отпечатате съдържанието на променлива в четим вид, в действителност това е добавка за var_dump:

Ако вторият аргумент да премине низ с името на една променлива, то ще бъде показано пред съдържанието на променливата:

Ако Третият аргумент е настроен да е истина, методът връща съдържанието на променливата вместо се извеждат на екрана.

Dump съдържанието на променливата във файла

Тези характеристики дават възможност за записване на съдържанието на променливата в лог файл. пътя на файла в сравнение с упреквайки на сайта прехвърлени на трети аргумент $ файловото име на, основен метод е писано в /__bx_log.log файл.

dumpToFile пише във файл в резултат на метод за отстраняване на грешки :: сметище, т.е. форматиран var_dump функция. writeToFile пише или просто променлива или в резултат на print_r функция. Ако променливата е масив.

Измерване на времето за изпълнение на код

Ако искате да се измери времето за изпълнение на някои част от код, можете да използвате тази интегрирано решение:

начало - време (UNIX клеймото с микросекунди) startTimeLabel първото повикване.

време - времето между startTimeLabel и endTimeLabel за секунди. Ако имаше няколко измервания с едно и също име (в този пример - "label1"), а стаковете.

Също така, има два полезни методи за диагностициране на клас Битрикс \ Main \ Diag \ Helper:

Diag \ Helper :: getCurrentMicrotime () връща текущата клеймото с микросекунди.

Diag \ Helper :: getBackTrace () връща тестето извиквания на функции.