V8 hibakeresés trükkök


Kulcsszavak: debugger, hibakeresés, futás,
töréspont lépve


Azok, akik egyszer dolgozott a VBA debugger, álom,
a és 1C lehetne módosítani a változók értékeit, és mozogni bármely részét a kódot.

Minden nem ígérhetek, de néhány funkció érhető révén a kozmetikai sebészet a konfigurációban.

funkció

Ez a funkció lehetővé teszi, hogy bármikor végrehajtani a kódot 1C felett bármely küldött adatokat.

példák:
= Azt a szöveget

= True értéket adja Failure

= A debugger nem hívhatja eljárással, de meg lehet csinálni a távirányító:

Rendeljen funkció

Mindenki tudja, hogy a 1S80 nem lehet megváltoztatni a Hoth hibakereső változók.
Azonban van egy módja!
Általában, állapítsa meg a funkció modul:

Most már bármikor értéket rendelni a változó.

Hibakeresés egy tipikus konfigurációban

És mit csinálsz, ha elment a hibakeresési konfiguráció, amely nem rendelkezik ezekkel a nagyszerű jellemzőkkel?

Ez nagyon egyszerű. Készítsen külső feldolgozás, jegyzet az ő egység, ezeket a funkciókat a kulcsszó export és hívja őket, mint ez:

Manipuláció a verem.

Ez kellemes meglepetés volt számomra, amikor felfedezték, hogy meg lehet nézni változók különböző szinteken a verem.

Meg kell nyitni a verem ablakot (Ctrl + F3), hogy váltson a kívánt szintet, és tegye a kijelzőn a változó nevét.
A legjobb dolog az, hogy fontolja meg a példa a rekurzív függvény:


Tedd ezt a funkciót töréspont, és látni fogod, hogy a különböző szinteken a változó egy halom különböző értékeket.

munkaprogram megszakítás

Sajnos 1C 80 kikapcsolják egy kódot csak megállt
működésének minden 1C: Enterprise. Azaz, hogy foglalkozik a fejfájás, amire szükség van, hogy levágta a fejét.

De nem minden olyan rossz.

A funkció használata hozzárendelése, hozzá lehet rendelni bizonyos kritikus tárgyat a program értéke meghatározatlan, vagy nulla, és amint a program megpróbálja kellékek vagy módszer az objektum és egy hiba kód nem fog működni.
Például, akkor azon a ponton:


Most, amint a kódfuttatást eléri a vonalat „Ha”, hiba történik, és megáll a végrehajtás.

Néha, amikor hibakeresés funkciót slozhnovlozhennyh nem tudom van-e értelme ennek a hibakeresés
speciális funkciója a lépéseket, vagy jobb teljesítését neki, anélkül, hogy bent részletes hibák.

Változtassuk meg a kódot a légy

Ha van egy csomó kód lefut a nyilatkozatban Run, a legjobb, ha ezt a kódot egy változót, hogy amikor az ügy is megváltoztathatja ezt a kódot. Megmondom esetben a gyakorlatból.

Azt hibamentesített egyszer feldolgozása adatcsere - nem volt sok darab kód fut át ​​a Run. Ez a baj történt - mi töltöttünk egy nagy fájlt (multiméter), és így fáj, ha ő töltött egy órát, majd leveszi néhány kisebb hiba a kódot, amely nem észlelhető a szakaszában hibakeresés, mindig a legváratlanabb helyeken.

Amiben mi toiled, majd jön - az összes hívás Fuss hoztak be egy funkció, amely átment a kód futtatását és paraméterek. Ez nekünk, és jó munkát.

Azt hogy Run Trying-kizárás, és ha van egy kivétel, mely élő programozó, hogy módosítsa a kódot. Ha ő beleegyezett, kinyitotta a kód beviteli ablakban, ahol tudott cserélni a régi kódot az újat. És végrehajtása előtt a kód azt teszteltük, hogy ez a lista a csere. Ha igen, akkor mi helyettesíti végrehajtása előtt a régi kódot az újat. Így voltunk képesek gyorsan betölteni az adatokat.

Hibakeresés a kiszolgálón

Ahhoz, hogy valóban menteni az idegeket, hogy jelentse, hogy a hibakeresés, hogy fut a kiszolgáló (trehzvenke), ez lehetetlen. Tehát ha van egy program fájlmód megáll a töréspont, mint a szerver - nem, ne aggódj, és fogant. Miután kódvégrehajtáskor az alkalmazás szerver és ezért nem debuggolható az ügyfélnél.

feltételes töréspont

Nem mindenki tudja, hogy az 1C 80 feltételes töréspont - töréspont az állapotot. Azonban ez egy nagyon hasznos eszköz.

nyomkövetés

Néha szükség van nyomon követni a programkód - azaz kiadni egy üzenetet az ablakban változók értékei az egyes átmennek a pont kódot.

Ezekre a célokra, 1C, akkor a feltételes töréspont, mert Az állapot ellenőrzése az egyes belépési kód egy feltételes töréspont.


Az említett vonal meghatározott töréspont állapota:


Most, amikor hibakeresés programok az ablak Üzenetét kódfuttatást:

Összesen: 1
Összesen: 3
Összesen: 6
Összesen: 10
Összesen: 15
Összesen: 21
Összesen: 28
Összesen: 36
Összesen: 45
Összesen: 55

Persze, akkor feltételeket és kimenet, nem minden üzenetet, de csak akkor, ha érdekel a változók értékét:


A módszer kényelmes, mert nem kell semmit sem konfigurációs változásokat.
Célszerű, hogy utolérjék a hibák 1C „repül”, ha az üzenet a fájlba.

kódkezelés


Tegyük fel, hogy a következő kódot:

Ebben az esetben tudjuk alkalmazni a szoftver kód kezelése.
Az elején az üzemeltető, ha tesz egy feltételes töréspont:

Ie ha A = 1, akkor rendeljen értéke 2 A, és rendeljen hozzá egy 1 egyébként.
Ez lehetővé teszi, anélkül, hogy a konfiguráció megváltoztatása állandó jelleggel átirányítani kívánt kódot minket ág.
Akkor csak hogy egy feltételes töréspont, amely kijelöli a kívánt értékre:

megfigyelhető nyoma

Ha fel a kódot többféle funkciót együtt nyomon követni a program előrehaladását, akkor néha nehéz megtalálni minden nyomát hívásokat.

Azt javaslom, hogy kiadja ezeket a hívásokat úgy, hogy volt egy pont, mielőtt a hívást üzenet pontosvesszővel:


Ha a nyomkövetés átmenetileg nem szükséges, azt el kell távolítani az alábbiak szerint:


Ezután az összes aktív nyomokban megtalálható a vonal „jelentése”, és minden aktív - a sorban »//; jelentés.«

hibakereső felületet


Őszintén szólva, amikor meguntam, hogy állandóan megy az újraindítás után a 1C Operations dokumentum dokumentumok listáját kell nekem, én hoztam létre magamnak felület „hibakereső” annak menü ragadt a parancsokat rám. Most az újraindítás után találtam magam a jobb folyóirat I / form egyetlen kattintással.

Egy másik lehetőség -, hogy hozzon létre egy hibakereső asztali - azaz, Azonnal nyissa ki az összes szükséges űrlapok és dokumentumok. Ehhez a legjobb, hogy hozzon létre egy külső feldolgozó, nevezzük például „nyitó” formájában a kezelés, írd le, mit kell megnyitni:

Most csak nyissa ki a külső feldolgozó és asztali dallamok. A következő alkalommal a kezelést már a listában a legutóbb megnyitott fájlok.

Egy egyszerűbb változata a lusta -, hogy írjon az eredményjelző értékelése kifejezések (pl egy vezérlő), amely megnyitja a dokumentumokat és magazinok. Gyorsan és egyszerűen!

Debug kliens-szerver adatbázis


Köztudott, hogy a kód a szerver nem hibakeresést.
Ezért hibakeresés lehetőségek:
1. Trace (Box diagnosztikai üzenetek).
2. Töltse fel a fájlt az adatbázisba, és másolja a hibakeresés.
3. Jelölje „Ügyfél” az érdekeit a modul és a hibakeresés. Ezután visszatér visszaadta a csekket.
Megjegyzés: 1C v 8.1 jött a képesség, hogy hibakeresés a szerveren. Ehhez meg kell futtatni a szerver debug módban a parancssorból: ragent.exe / debug

A külső feldolgozás


Gyakran, amikor az alap nem tudja megváltoztatni a kódot, és játszani szeretne, vagy ha a kód a kiszolgálón fut, és nem tud debug meg hatékonyan ki tudjuk használni a külső feldolgozás.
Ehhez másolja be a kódot a külső feldolgozás és a hibakeresés már külső feldolgozás során megváltoztatja a kódot, és figyeljük változókat.

Podsovyvaniya vizsgálati adatok


Előfordul, hogy a bázis nehezen kap egy példát, amikor fut valamilyen egzotikus állapotban.
Ebben az esetben könnyebb csúszik vizsgálati adatok.
Például, ha a kód által feldolgozott bizonyos táblázatot az értékek, akkor regisztrálni közvetlenül a kódot tisztítsa meg a táblázatot az értékek és feltöltése az új adatok, melyek az egzotikus körülmények között.
Azok számára, akik nem szeretik elrontani a kódot hibakeresés, tanácsos lehet használni egy távoli függvényhívás egy külső folyamat, amely kitölti a táblázatot az értékek, mint mi kell (például úgy véli, hogy az elrendezés).

hibakeresés zárak


Néha meg kell nézni a viselkedését a két párhuzamos folyamatot.
A legegyszerűbb módja annak, hogy debug ilyen helyzetek - kóddal jelezve Procedure Call Alert ().
Például abban az esetben, PriZapisi létesítmény szúr hívás figyelmeztetés ( „Van egy rekord az objektum.”).
Aztán, ha megnyit egy másik ülés és megpróbálja írni az objektumot, akkor figyelmeztet, hogy az objektum zárolva van.

Ha ezt nevezik a hibakeresés gyakran javasolják ezt a módszert hívás csak két ülés 1C.
A hibakereső sújtotta F5 (Start hibakeresés), fut 1C: Enterprise. Megszakad a hibakereső 1C - "Debug" -> "Disconnect", majd nyomja meg az F5 újra. Ennek eredményeként, a második edzésen már csatlakozik a debugger. Futtatni a kódot egy figyelmeztetés az első menetben és hibakeresés a második.

gyorsulás hibakeresés


Debugger csökkenti a sebességet a program.
Ezért lehetséges, hogy erre -, hogy kikapcsolja a debugger, és a megfelelő helyen, hogy figyelmeztetés ();
Ha figyelmeztető üzenetet ad, akkor csatlakoztassa a hibakereső újra, meg egy töréspont, és indítsa el a hibakeresés.

V8 hibakeresés trükkök

Kapcsolódó cikkek