Hibakeresés funkciók Bitrix d7
Középpontjában a D7 meg viszonylag kényelmes beépített diagnosztikai képességeit a kódot. Ők képviselik névtér Bitrix \ Main \ Diag, rövidítve az alábbi példák:
Hibakeresés SQL-lekérdezések
Középpontjában a D7 követni SQL-lekérdezéseket használ az úgynevezett SQL-tracker. Ha a tracker minden kérést az adatbázis (Bitrix módszer \ Main \ db \ Connection :: queryInternal) a tracker írásbeli kérelmére, a kezdési és befejezési idő. Tracker egy osztály objektum Diag \ SqlTracker.
A tracker és felvételét objektum nyomon követésére, hogy a jelenlegi kapcsolatot, és hívja a módszer startTracker:
Miután a hívást, mielőtt a hívást startTracker stopTracker valamennyi kérelmet ellenőrizni fogják. Minden egyes kérelem képviseli egy objektum osztály Bitrix \ Main \ Diag \ SqlTrackerQuery, amelyek gyűjtése állítható elő hívó eljárás Diag \ SqlTracker :: getQueries
Törölje az adatokat tracker, és elkezd egy új pálya, meg kell hívni startTracker érv $ visszaállítás = true:
Példa követési kérelmek fogadásakor a információs blokk elemek:
Meg kell jegyezni, hogy a tracker nem követi kérelmet az a régit.
Tartalmát jeleníti meg egy változót a képernyőn
Diag \ Debug :: lerakó lehetővé teszi a nyomtatást az egy változó tartalmát olvasható formában, valójában ez add-on var_dump:
Ha a második argumentum átadni egy húr a változó neve, ez jelenik meg előtte a változó tartalmát:
Ha a harmadik argumentum értéke igaz, akkor a metódus visszaadja a változó tartalmát, ahelyett, hogy a kimenet a képernyőn.
Dump a változó tartalmát a fájlban
Ezek a funkciók lehetővé teszik, hogy rögzíti a változó tartalmát egy log fájlt. a fájl elérési útját helyhez viszonyítva szemrehányásokat át a harmadik érv $ filename, az alapértelmezett módszer van írva /__bx_log.log fájlt.
dumpToFile ír egy fájlt az eredmény a módszer Debug :: dump, azaz formázott var_dump funkciót. writeToFile írja, vagy csak egy változó vagy az eredménye print_r funkciót. Ha a változó egy tömb.
Mérése kódfuttatást idő
Ha azt szeretnénk, hogy az intézkedés a végrehajtási időt néhány darab kódot, akkor ez az integrált megoldás:
start - idő (unix timestamp az ezredmásodperc) startTimeLabel első hívást.
időt - között startTimeLabel és endTimeLabel másodpercben. Ha lenne több mérést ugyanazzal a névvel (ebben a példában - „Label1”), míg a stack.
Emellett vannak olyan hasznos módszereket szolgáltat az osztály Bitrix \ Main \ Diag \ Segéd:
Diag \ Helper :: getCurrentMicrotime () függvény az aktuális időbélyeg ezredmásodperc.
Diag \ Helper :: getBackTrace () visszaadja halom funkció hívásokat.