Ladenie procedúr servera (1Cv82). Ladiace procedúry servera (1Cv82) Identifikácia infobáz

Ako začať ladiť na serveri 1C...

Pri použití architektúry klient-server 1C:Enterprise štandardne funguje režim ladenia kódu 1C iba na strane klienta. Procedúry a funkcie servera nie sú viditeľné pre klientsky počítač.

Ak chcete povoliť používanie ladenia na serveri 1C, musíte vykonať nasledujúce kroky:

1. Nájdite a zastavte službu "Server Agent 1C: Enterprise 8.3" v správcovi služieb (pre verziu 8.3).

Nová architektúra

Predtým sa pri ladení konfigurácie musel zamestnanec pripojiť k informačnej databáze. Na to bolo potrebné udeliť mu administrátorské práva.

V novej verzii už nie je potrebné priame pripojenie k databázam - stačí mať rovnakú databázu ako klient. A môžete ho načítať zo súboru.

Mobilné aplikácie

Pomocou protokolu HTTP je teraz možné ladiť serverové dáta, klientske dáta a aplikácie.

Iné zmeny

S novou verziou je možné meniť hodnoty pre lokálne premenné v procedúre ladenia - na tento účel bolo implementované nové okno rýchleho náhľadu.

Režim výpočtu sa zmenil na asynchrónny, čo umožňuje pokračovať v práci bez čakania na výsledky.

Debugger vo vývojových nástrojoch

Interakcia s novým postupom sa vykonáva v špeciálne navrhnutom univerzálnom programovacom rozhraní. Na jednej strane toto rozhranie používa konfigurátor. Na druhej strane je implementovaný v novom prostredí 1C:Enterprise Development Tools.

Ako to vyzerá teraz

Po zmene programu postup pokračuje podľa nasledujúceho scenára:


Teraz to zahŕňa nielen debugger a objekty, ako to bolo predtým. Teraz bol do reťazca pridaný ďalší prvok - Server.

Nielenže je pridaný - slúži ako hlavný prvok výmeny informácií medzi debuggerom a objektmi. A samotná výmena prebieha prostredníctvom správ vo fronte.

A keďže sa táto výmena uskutočňuje prostredníctvom protokolu HTTP, teraz nezáleží na tom, kde presne sa údaje nachádzajú.

Požiadavky servera sú tvorené debuggerom a objektmi vo forme dodatočných požiadaviek na pripojenie. Keď sa objavia, odošlú sa im príslušné odpovede.

Povoliť ladenie v rôznych scenároch

Pre vývojára aplikácie nenastali žiadne zmeny. Podstatný rozdiel je v tom, že je potrebné aktivovať nový mechanizmus. Koniec koncov, v predvolenom nastavení je teraz vypnutý.

Uvažujme, čo sa stane, keď sa režim spustí, ak si vyberieme jeden z dvoch scenárov.

Skript súboru

Na začiatku verzie súboru je potrebné v nastaveniach konfigurácie špecifikovať použitie nového mechanizmu - "Ladenie cez protokol HTTP".

Potom konfigurátor automaticky navrhne použitie lokálneho servera. Túto podmienku je potrebné akceptovať a program reštartovať v režime Konfigurátor.


Potom novo spustený Konfigurátor uloží nami vybrané počas nasledujúcej relácie. Nová cesta. Ale pre rovnakú informačnú základňu. Preto pri prístupe k inej infobáze musí byť tiež povolená.

Povolený mechanizmus teraz automaticky spustí Debugger Server, čo je špeciálna aplikácia dbgs.exe. Zobrazuje sa v okne Správca úloh.

Hodnota parametra ownerPID sa bude zhodovať s ID aplikácie, ktorá je s ním spojená.

Keď spustíte reláciu ladenia cez konfigurátor, pripojenie k serveru sa vytvorí automaticky. A bude odrážať pripojené objekty.


Ak bol program 1C aktivovaný bez nového mechanizmu, budete musieť manuálne povoliť ladenie na serveri 1C. Až teraz budete musieť zadať adresu servera:


Prejdite na Nástroje - Možnosti

Je to v nastaveniach položky:


Ideme Pripojenie - Nastavenia

Pri použití súborového skriptu s niekoľkými databázami súčasne musíte vziať do úvahy dôležitú nuanciu - každý z konfigurátorov (s povoleným mechanizmom HTTP) posiela svoj vlastný server:


Ak je teda otvorených niekoľko konfigurátorov, na pripojenie klienta je potrebné zadať ten správny.

Scenár klient-server

Ladenie na serveri 1C podľa scenára klient-server, ako v predchádzajúcom prípade, začína spustením režimu. Toto špecifikuje použitie nového mechanizmu HTTP. Robí sa to týmto spôsobom:

ragent.exe -debug -http

Po spustení sa za ním automaticky spustí debugger.

Hodnota parametra ownerPID bude zodpovedať identifikačnému číslu manažéra klastra 1C.

Program vygeneruje ponuku na použitie ladiaceho servera klastra (a nie lokálneho ako v predchádzajúcom scenári). Súhlasíme a reštartujeme.

V budúcnosti bude všetko prebiehať ako súborový skript. Iba pri spustení Server Base Configurator lokálny server- ladiaci program sa už nespustí.

Dúfame, že vám naša publikácia pomohla vyriešiť problém, ako povoliť ladenie na serveri 1C.

Pýtajte sa, zdieľajte svoje skúsenosti, zanechajte komentáre.

   

Ako povoliť ladenie aplikácií 1C na serveri?

Ak chcete povoliť ladenie na serveri 1C 8.1 Budete musieť reštartovať aplikačný server a prejsť do registra. Totiž

"ImagePath"=

predvolene:
"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -d "C:\Program Files\1cv81\server"
ale musíš:
"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -debug -d "C:\Program Files\1cv81\server"

Postupnosť akcií 1C 8.2:
1. Zastavte službu 1C:Enterprise 8.2 Server Agent
2. V matrike v pobočke HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\1C:Enterprise 8.2 Server Agent\ pre parameter ImagePath pridať -odladiť a uložiť. Ukazuje sa niečo takéto: "C:\Program Files\1cv82\8.2.10.82\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -d "C:\Program Files\1cv82\srvinfo" -debug
3. Zapíšte si a spustite službu.

Chýbalo mi miesto pred -debug first. Čo môžem povedať: výsledok bol vynikajúci - nenašla sa ani jedna databáza, podnik nijako nezačal

Tiež by vás mohlo zaujímať

8, je potrebné (viac o tom nižšie) výrazne prepracovať postup ladenia. To sa prejavilo vo verzii 8.3.7.1759. Po prvé, pre tento postup bolo vytvorené univerzálne rozhranie a po druhé, takáto zmena poskytuje ďalší vývoj samotný program. Koniec koncov, teraz môžete pracovať s ladením nielen cez Konfigurátor, ale aj pomocou Vývojových nástrojov. Zvážte, ako povoliť ladenie na serveri 1C od novej verzie.

Použitie nového protokolu

Predchádzajúci debugger, ktorý bol implementovaný v predchádzajúcich verziách, zvládal klientske a serverové aplikácie pomocou protokolu TCP/IP.

V súčasnosti používanie takéhoto protokolu začalo obmedzovať prístup programu 1C: Enterprise na internet a spôsobilo ťažkosti pri práci. mobilných aplikácií.

Preto pre voľný prístup pre informačné databázy, ktoré môžu byť mimo lokálnej siete, bol teraz prijatý flexibilný protokol HTTP.

Nová architektúra

Predtým sa pri ladení konfigurácie musel zamestnanec pripojiť k informačnej databáze. Na to bolo potrebné udeliť mu administrátorské práva.

V novej verzii už nie je potrebné priame pripojenie k databázam - stačí mať rovnakú databázu ako klient. A môžete ho načítať zo súboru.

Mobilné aplikácie

Pomocou protokolu HTTP je teraz možné ladiť serverové dáta, klientske dáta a aplikácie.

Iné zmeny

OD Nová verzia v procedúre ladenia je možné meniť hodnoty pre lokálne premenné - na tento účel bolo implementované nové okno rýchleho náhľadu.

Režim výpočtu sa zmenil na asynchrónny, čo umožňuje pokračovať v práci bez čakania na výsledky.

Debugger vo vývojových nástrojoch

Interakcia s novým postupom sa vykonáva v špeciálne navrhnutom univerzálnom programovacom rozhraní. Na jednej strane toto rozhranie používa konfigurátor. Na druhej strane je implementovaný v novom prostredí 1C:Enterprise Development Tools.

Ako to vyzerá teraz

Po zmene programu postup pokračuje podľa nasledujúceho scenára:

Teraz to zahŕňa nielen debugger a objekty, ako to bolo predtým. Teraz bol do reťazca pridaný ďalší prvok - Server.

Nielenže je pridaný - slúži ako hlavný prvok výmeny informácií medzi debuggerom a objektmi. A samotná výmena prebieha prostredníctvom správ vo fronte.

A keďže sa táto výmena uskutočňuje prostredníctvom protokolu HTTP, teraz nezáleží na tom, kde presne sa údaje nachádzajú.

Požiadavky servera sú tvorené debuggerom a objektmi vo forme dodatočných požiadaviek na pripojenie. Keď sa objavia, odošlú sa im príslušné odpovede.

Povoliť ladenie v rôznych scenároch

Pre vývojára aplikácie nenastali žiadne zmeny. Podstatný rozdiel je v tom, že je potrebné aktivovať nový mechanizmus. Koniec koncov, v predvolenom nastavení je teraz vypnutý.

Uvažujme, čo sa stane, keď sa režim spustí, ak si vyberieme jeden z dvoch scenárov.

Skript súboru

Na začiatku verzie súboru je potrebné v nastaveniach konfigurácie špecifikovať použitie nového mechanizmu - "Ladenie cez protokol HTTP".

Potom konfigurátor automaticky navrhne použitie lokálneho servera. Túto podmienku je potrebné akceptovať a program reštartovať v režime Konfigurátor.

Potom novo spustený konfigurátor počas nasledujúcej relácie uloží novú metódu, ktorú sme zvolili. Ale pre rovnakú informačnú základňu. Preto pri prístupe k inej infobáze musí byť tiež povolená.

Povolený mechanizmus teraz automaticky spustí Debugger Server, čo je špeciálna aplikácia dbgs.exe. Zobrazuje sa v okne Správca úloh.

Hodnota parametra ownerPID sa bude zhodovať s ID aplikácie, ktorá je s ním spojená.

Keď spustíte reláciu ladenia cez konfigurátor, pripojenie k serveru sa vytvorí automaticky. A bude odrážať pripojené objekty.

Ak bol program 1C aktivovaný bez nového mechanizmu, budete musieť manuálne povoliť ladenie na serveri 1C. Až teraz budete musieť zadať adresu servera:

Prejdite na Nástroje - Možnosti

Je to v nastaveniach položky:

Ideme Pripojenie - Nastavenia

Pri použití súborového skriptu s niekoľkými databázami súčasne musíte vziať do úvahy dôležitú nuanciu - každý z konfigurátorov (s povoleným mechanizmom HTTP) posiela svoj vlastný server:

Ak je teda otvorených niekoľko konfigurátorov, na pripojenie klienta je potrebné zadať ten správny.

Scenár klient-server

Ladenie na serveri 1C podľa scenára klient-server, ako v predchádzajúcom prípade, začína spustením režimu. Toto špecifikuje použitie nového mechanizmu HTTP. Robí sa to týmto spôsobom:

ragent.exe -debug -http

Po spustení sa za ním automaticky spustí debugger.

Hodnota parametra ownerPID bude zodpovedať identifikačnému číslu manažéra klastra 1C.

Program vygeneruje ponuku na použitie ladiaceho servera klastra (a nie lokálneho ako v predchádzajúcom scenári). Súhlasíme a reštartujeme.

V budúcnosti bude všetko prebiehať ako súborový skript. Server lokálneho ladiaceho nástroja sa nespustí iba vtedy, keď sa spustí konfigurátor servera Base Configurator.

Dúfame, že vám naša publikácia pomohla vyriešiť problém, ako povoliť ladenie na serveri 1C.

Inštrukcia

Pozorne si preštudujte údaje, ktoré máte o tomto serveri. Ak chcete vytvoriť spojenie, musíte poznať jeho IP adresu a port, s ktorým sa spojenie vytvorí. Pre väčšinu http serverov je predvolený port 80.

Na serveri môžu byť otvorené ďalšie porty - všetko závisí od toho, aké služby na ňom bežia. Napríklad ftp je port 21, telnet je port 23, SMTP (odosielanie pošty) je port 25, POP (prijímanie pošty) je port 110 atď. Mnohé z týchto portov sú potenciálne otvorené pre pripojenie, ale pri pokuse o pripojenie môžu vyžadovať zadanie hesla.

Ako zistiť, ktoré porty sú na serveri otvorené? Ak chcete zistiť, použite - napríklad Nmap alebo XSpider. Môžete tiež vyhľadávať na webe informácie o iných skeneroch. Pre test zadajte do skenera adresu 127.0.0.1 a skúste skenovať. Dostanete informácie o portoch otvorených na vašom počítači.

Je možné vykonať skutočný proces skenovania rôzne cesty. Môžete napríklad určiť konkrétne porty na vyhľadávanie konkrétnych služieb alebo môžete úplne skontrolovať všetky porty. Keď zistíte, ktoré porty sú na serveri otvorené, môžete sa k nim pokúsiť pripojiť.

Na pripojenie potrebujete programy, ktoré spolupracujú s príslušnými službami servera. Napríklad, ak je otvorený port 21, potrebujete ftp klienta. Keď je 23 otvorený, budete potrebovať telnet. Skenovaním portov môžete nájsť tie, ktoré používajú programy vzdialenej správy – napríklad Anyplace Control, Access Remote PC, DameWare NT Utilities, RemotelyAnywhere, Radmin, VNC atď.

Hľadanie otvorený port, môžete sa k nemu pokúsiť pripojiť. S najväčšou pravdepodobnosťou budete požiadaní o zadanie hesla, ale niekedy správcovia nezmenia predvolené heslo. Napríklad pre populárny program Radmin (port 4899) je predvolené heslo 12345678 alebo 123456789.

Existuje veľa programov, ktoré vám umožňujú vybrať si prihlasovacie údaje a heslá pre takéto služby, ale mali by ste vedieť, že takéto aktivity sú nezákonné a trestne stíhateľné. Preto pracujte s portami, na ktoré správca servera umožňuje pripojenie. Napríklad ftp - pomocou tohto protokolu môžete úspešne sťahovať veľké množstvo údajov, prezerať súbory dostupné na prezeranie. V populare je dobry ftp klient Správca súborovÚplný veliteľ.

Podobné videá

Architektúra siete je komplexný systém, ktorých prevádzka môže byť sprevádzaná chybami a poruchami. Takmer každý aktívny používateľ počítač sa stretol s nápisom "Chyba pri prístupe na server", či už ide o nenajdenú stránku alebo chybu pripojenia aplikácie.

Najprv sa uistite, že spojenie je prerušené iba s konkrétnym serverom. Skúste sa pripojiť k ostatným a prehliadať web v prehliadači. Možno je problém s internetovým pripojením, vašimi nastaveniami pripojenia alebo chybami v práci poskytovateľa. Reštartujte počítač a sieťové zariadenia. V prípade potreby kontaktujte technická podpora spoločnosť, ktorá vám poskytuje internetové služby.

Jeden z najviac bežné príčiny používa nesprávnu adresu. Uistite sa, že zadávate správny názov webovej stránky alebo IP adresu. Môžu sa zmeniť alebo prestať existovať.

Dôvodom nemožnosti pripojenia k serveru môže byť nemožnosť prístupu k serveru z fyzických dôvodov. Počítač môže byť hardvérovo zakázaný, pokazený alebo môže nastať problém so systémom pripájania zariadenia k internetu.

Ďalším dôvodom nedostatočnej komunikácie môže byť bezpečnostná politika. Z jedného alebo druhého dôvodu môže byť adresa IP vášho počítača serverom na čiernej listine, čo zakazuje všetky alebo niektoré typy pripojenia. Na druhej strane nie je nezvyčajné, že dôvody odmietnutia spojenia prichádzajú zo strany klienta. Uistite sa, že antivírusové programy alebo sieťové monitory vášho počítača alebo servera firemná sieť neblokujte adresu, ku ktorej sa chcete pripojiť.

Ak je pripojenie založené na použití klientskych programov, ktoré sa pripájajú k serveru, kontaktujte webovú lokalitu vývojára a uistite sa, že používate Najnovšia verzia. V opačnom prípade aktualizujte program. Ak používate neoriginálny, ale server kompatibilný klientsky program, skúste nainštalovať iné možnosti. softvér alebo pôvodnú verziu produktu.

Chyba pripojenia môže súvisieť so sledovaním na server. Použite príslušné overovacie príkazy. Možno, že požiadavka na pripojenie k serveru jednoducho nedorazí do cieľa kvôli problémom v medziľahlých uzloch.

Aby ste mohli ladiť procedúry servera, musíte nastaviť príznaky vo formulári "Služba->Parametre" konfigurátora:

Ladenie na aplikačnom serveri

Toto je popísané v dokumentácii:

Kniha „1C: Enterprise 8.1. Konfigurácia a správa »

Kapitola 18 Konfiguračné nástroje

Debugger a benchmarky

"Ladiaci kód na serveri."

Ak chcete nainštalovať režim ladenia, spustite server 1C:Enterprise pomocou kľúča príkazový riadok/Debug (ragent.exe /debug)."

Spúšťacie kľúče agenta servera sú popísané v knihe:

"1C: Podnik 8.1. Klientsky server. Vlastnosti inštalácie a použitia»

„Spustite serverového agenta ako službu

Ak bola pri inštalácii serverového klastra zvolená možnosť spustenia centrálneho serverového agenta ako služby, tak sa táto služba spustí automaticky počas procesu inštalácie a spustí sa aj pri štarte operačného systému.

Ak bol centrálny serverový agent nainštalovaný ako aplikácia, je možné službu zaregistrovať manuálne a potom ju spustiť.

Registrácia služby sa vykonáva nasledujúcim príkazom:

Ragent.exe -instsrvc -usr<пользователь>-pwd<пароль>- prístav<порт>-rozsah<диапазоны>-seklev<уровень>-ladenie | -rmsrvc | -štart | -zastaviť

Instsrvc – registrácia klastrového agenta ako služby Windows. Ak sa ragent.exe spustí pomocou tohto kľúča, zaregistruje sa v zozname služieb systému Windows a ukončí sa. Nie je kompatibilné s prepínačmi -srvc, -rmsrvc;

Usr<имя пользователя>

pwd<пароль пользователя>- užívateľské meno a heslo Používateľ systému Windows, v mene ktorej by mal byť spustený ragent.exe ako služba Windows. Dá sa použiť len v spojení s prepínačom -instsrvc pri registrácii ragent.exe ako služby Windows;

prístav<порт>– číslo hlavného portu klastrového agenta. Tento port používa klastrová konzola na kontaktovanie centrálneho servera. Port klastrového agenta je tiež špecifikovaný ako port IP pracovného servera;

Rozsah<диапазоны>– rozsahy IP portov pre dynamický výber. Z nich sa vyberú servisné porty procesov klastra, ak ich nie je možné vybrať z nastavení príslušného pracovného servera. Predvolená hodnota: 1560-1591. Hodnotové príklady<диапазоны>: "45:49", "45:67,70:72,77:90";

Seclev<уровень>– úroveň bezpečnosti procesu klastrového agenta. Určuje úroveň zabezpečenia pripojení vytvorených pomocou procesu ragent.exe.<уровень>môže nadobudnúť nasledovné hodnoty: 0 (predvolené) spojenia nie sú zabezpečené, 1 – zabezpečené spojenia len počas overovania užívateľa, 2 – trvalo zabezpečené spojenia.;

Rmsrvc – zruší registráciu agenta klastra ako službu Windows. Ak sa ragent.exe spustí pomocou tohto kľúča, zruší sa registrácia v zozname služieb systému Windows a ukončí sa. Nie je kompatibilné s prepínačmi -srvc, -daemon, -instsrvc.

Štart - spustí ragent.exe zaregistrovaný ako služba Windows. Spustí ragent.exe, predtým zaregistrovaný ako služba Windows, a potom sa ukončí;

Stop - stop ragent.exe zaregistrovaný a spustený ako služba Windows. Zastaví ragent.exe, ktorý bol predtým zaregistrovaný a spustený ako služba Windows, a potom sa ukončí;

Ladenie – spustí klaster serverov v režime ladenia konfigurácie. "

Ak bol teda server 1C:Enterprise spustený ako služba a z nejakého dôvodu musí byť spustený aj ako služba v režime ladenia, musíte najprv zrušiť registráciu služby (kľúč -rmsrvc) a potom službu znova zaregistrovať pomocou kľúč -debug.

Je zrejmé, že podobný efekt možno dosiahnuť aj inými spôsobmi, napríklad priamou úpravou Registry systému Windows. Ak to chcete urobiť, s najväčšou pravdepodobnosťou by ste si mali prečítať dokumentáciu pre systém Windows.

Funguje iba pri nastavení kľúča "-debug" v registri. Vo všetkých ostatných prípadoch to z nejakého dôvodu nefunguje.

"ImagePath"=

bol "F:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -d "F:\Program Files\1cv81\server"

zadajte "F:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -debug -d "F:\Program Files\1cv81\server"

Implementované vo verzii 8.3.7.1759.

Výrazne sme prepracovali mechanizmus ladenia. Bolo na to viacero dôvodov. Najprv sme vám chceli poskytnúť možnosť ladiť všetky aplikácie, ktoré sú dnes dostupné. Po druhé, stará architektúra debuggera si vyžadovala zmeny, aby držala krok so súčasnými trendmi a mohla sa v budúcnosti vyvíjať. Po tretie, bolo potrebné univerzálne ladiace rozhranie, s ktorým by mohol pracovať nielen konfigurátor 1C:Enterprise, ale aj .

Hlavné výhody

Aby ste mali predstavu o rozsahu zmien, ktoré sme vykonali, stručne si vymenujeme hlavné výhody nového mechanizmu.

Ladenie cez HTTP

Predchádzajúci mechanizmus ladenia bol založený na skutočnosti, že debugger implementovaný v konfigurátore 1C:Enterprise priamo interagoval s ladiacimi objektmi (klientske a serverové aplikácie). Táto interakcia bola vykonaná pomocou protokolu TCP/IP.

S vydaním aplikácií 1C:Enterprise na internete a najmä s príchodom mobilných aplikácií sa však tento prístup stal zdrojom obmedzení a nepríjemností. Nie vždy protokol TCP/IP umožňuje ladiacemu programu „prejsť“ k ladiacim položkám. Koniec koncov, môžu byť vonku lokálna sieť Debugger, v ktorom je spustený.

Preto sme v novom mechanizme zvolili ako transportný protokol „terénnejší“ HTTP protokol, ktorý mimochodom využívajú aj klientske aplikácie na pripojenie k infobázam.

Moderná architektúra ladenia

Vlastnosťou predchádzajúceho ladiaceho mechanizmu bola potreba pripojiť sa k infobase pomocou konfigurátora. V dôsledku toho mal debugger plný prístup na všetky administratívne funkcie.

Nový mechanizmus ladenia sa už nemusí pripájať k ladenej informačnej databáze. Hlavná vec, ktorú teraz debugger potrebuje, je rovnaká konfigurácia, ktorá funguje pre klientov. Na jeho získanie nie je potrebné sa pripájať k odladenej infobáze. Môžete ho načítať napríklad zo súboru.

Ladenie mobilných aplikácií

Vďaka použitiu protokolu HTTP bolo možné ladiť aplikácie spustené pomocou mobilná platforma. Okrem toho môžete ladiť akékoľvek kontexty: klient, server, ako aj úlohy na pozadí.

Teraz, počas ladenia, môžete zmeniť hodnoty akýchkoľvek zapisovateľných premenných. Na rýchle zobrazenie a zmenu lokálnych premenných sme implementovali samostatné okno. A samotné vyhodnotenie výrazov zobrazených debuggerom sa teraz vykonáva v asynchrónnom režime.

Ladenie vo vývojových nástrojoch

Pri vytváraní nového mechanizmu ladenia sme implementovali nové, univerzálne programovacie rozhranie na interakciu s ním. Toto rozhranie používa konfigurátor 1C:Enterprise a nové vývojové prostredie teraz používa rovnaké rozhranie. Všetky možnosti ladenia sú teda teraz dostupné pri práci v .

Debug Process Architecture

Nová architektúra ladenia vyzerá takto:

Ladenie zahŕňa debugger, ladiace položky a novú položku - ladiaci server.

Neexistuje žiadny priamy prenos informácií medzi debuggerom a položkami ladenia. Všetky interakcie sú organizované cez ladiaci server. Toto je hlavný prvok mechanizmu. Ladiaci server má front správ, cez ktorý si ladiaci program a ladiace objekty navzájom odovzdávajú informácie.

Samotný ladiaci program aj položky ladenia komunikujú s ladiacim serverom cez HTTP. Preto teraz nezáleží na tom, kde sa tieto položky ladenia nachádzajú.

Komunikáciu s ladiacim serverom spúšťa debugger a ladiace položky. Na tento účel sú organizované ďalšie spojenia. Ich hlavným účelom je zistiť, či sú pre nich informácie na ladiacom serveri. A ak sa objaví, získajte tieto informácie.

Interakcia je teda jednosmerná. Informácie sa neustále odovzdávajú z ladiaceho servera do ladiaceho nástroja a na ladenie položiek.

Identifikácia informačnej bázy

V starom mechanizme identifikácie informačné základne bol použitý spojovací reťazec. Toto rozhodnutie v niektorých prípadoch spôsobilo problémy s párovaním ladiacich položiek a konfigurátora. Pretože po prvé rozlišovalo veľké a malé písmená a po druhé, pri ladení niektorých kontextov platforma automaticky vytvorila reťazec pripojenia. A nie vždy sa zhodoval s tým, ktorý ste zadali pri pripájaní infobázy v konfigurátore. Nájdenie a oprava takýchto situácií skomplikovala proces ladenia.

V novom mechanizme sme sa zbavili pripájacieho reťazca. Teraz používame identifikátor informačnej databázy. V informačnej databáze súborov sa takýto identifikátor vygeneruje pri prvom pripojení klienta. V informačnej databáze servera sa ako takýto identifikátor používa ID registrácie informačnej databázy v klastri.

Príjemným dodatočným bodom je, že sme zatiaľ ponechali starý mechanizmus ladenia v platforme (v budúcnosti môže byť vylúčený). A môžete ho použiť, ak chcete alebo ak potrebujete. Takže sme vylepšili starý mechanizmus a teraz používa aj identifikátor informačnej bázy a nie reťazec pripojenia.

Typické scenáre ladenia

Z pohľadu vývojára aplikácií sa typické scenáre ladenia nezmenili. Jediný významný rozdiel je v tom, že je potrebné povoliť nový mechanizmus ladenia. Pretože je predvolene vypnutá.

Napriek tomu má zmysel oboznámiť sa s tým, čo sa stane teraz, keď začnete ladiť. Pretože to môže byť pre vás užitočné v niektorých neštandardných pracovných scenároch.

Možnosť súboru

Pred začatím ladenia v režime súborov musíte v nastaveniach konfigurátora určiť, že chcete použiť nový mechanizmus ladenia - " Ladenie cez HTTP».

V tomto prípade vás konfigurátor automaticky vyzve, aby ste použili lokálny ladiaci server. Musíte s tým súhlasiť a reštartovať konfigurátor.

Metóda ladenia, ktorú nastavíte, sa ukladá medzi reláciami návrhára, ale je uložená v kontexte informačných báz. Preto pre ďalšiu informačnú základňu ju budete musieť znova povoliť.

Teraz, pri štarte konfigurátora alebo pri jeho reštarte, platforma automaticky spustí aj ladiaci server. to samostatná aplikácia dbg.exe. Môžete to vidieť v správcovi úloh.

Jeho parameter ownerPID obsahuje ID aplikácie, ktorá vlastní tento ladiaci server. V tomto prípade ide o konfigurátor 1C:Enterprise.

Ak teraz spustíte reláciu ladenia 1C:Enterprise z konfigurátora, automaticky sa pripojí k serveru ladenia a v konfigurátore uvidíte pripojené položky ladenia.

Ak bola relácia 1C:Enterprise spustená bez ladenia, môžete ju ako predtým pripojiť k debuggeru. Len teraz musíte zadať adresu ladiaceho servera:

Túto adresu zistíte z nastavení položiek ladenia:

S prácou s viacerými spisovými základňami naraz sa spája jeden nezvyčajný moment. Vo verzii súboru každý konfigurátor s povoleným ladením http spúšťa svoju vlastnú kópiu ladiaceho servera na rôznych portoch:

Preto, ak máte otvorených niekoľko konfigurátorov naraz, potom na pripojenie klientskej aplikácie k debuggeru musíte vybrať ten správny z nich.

Možnosť klient-server

Pred začatím ladenia v režime klient-server musíte spustiť server 1C:Enterprise v režime ladenia, ako predtým, ale špecifikujte, že na ladenie sa použije nový mechanizmus HTTP. Napríklad takto:

ragent.exe -debug -http

Keď sa server spustí týmto spôsobom, spustí sa aj ladiaci server.

V parametri ownerPID bude mať ID manažéra klastra 1C:Enterprise.

Teraz v nastaveniach konfigurátora, ako v prípade základne súborov, musíte zadať, že chcete použiť nový mechanizmus ladenia - " Ladenie cez HTTP».

V tomto prípade vás konfigurátor automaticky vyzve, aby ste použili server na ladenie klastra a nie lokálny server. Musíte s tým súhlasiť a reštartovať konfigurátor.

Pripája sa ladiace položky

Pri spúšťaní relácií ladenia z konfigurátora sa spúšťajú aplikácie automatické pripojenie ladiace položky (klient aj server) na ladiaci server.

Zároveň, ako doteraz, máte možnosť v konfigurátore nakonfigurovať automatické pripájanie ladiacich položiek bez ohľadu na to, ako boli spustené. Teraz sa tieto príležitosti stali oveľa bohatšími.

Po prvé, platforma vám teraz ponúka všetky možné položky ladenia, z ktorých si môžete vybrať.

A po druhé, objavil sa ďalší, jemnejší spôsob ladenia. Ide o použitie vopred vytvorených výberov.

Takéto filtre môžete použiť pri pripájaní položiek ladenia aj na zobrazenie dostupných položiek ladenia.

Vo výbere môžete okrem samotných položiek ladenia špecifikovať konkrétnych používateľov, o ktorých relácie máte záujem, a tiež, ak sa používa oddelenie údajov, určiť oblasť informačnej databázy, ktorá sa bude ladiť.

Zmena premenných, vlastností objektu a vyhodnocovanie asynchrónneho výrazu

Nový mechanizmus ladenia vám umožňuje meniť hodnoty premenných počas ladenia. V predchádzajúcom mechanizme takáto možnosť nebola.

Pre pohodlné prezeranie a zmenu lokálnych premenných, čo sa zdá byť najbežnejšou úlohou, sme implementovali okno " Lokálne premenné».

Navonok je to veľmi podobné známemu „Scoreboard“. Po prvé, toto okno je už automaticky vyplnené všetkými lokálnymi premennými a po druhé, teraz môžete zmeniť hodnoty premenných.

Hodnoty primitívnych typov môžete zmeniť priamo v bunke " Význam»:

A na zmenu iných hodnôt môžete použiť okno na zadanie výrazu:

Príjemným bonusom je, že kontextová nápoveda je v tomto okne plne funkčná.

Presne rovnakým spôsobom môžete zmeniť hodnoty akýchkoľvek (nielen lokálnych) premenných, vlastností, dostupných na zápis. V okne výpočtu výrazu (ktoré sa volá príkazom Shift+F9) môžete meniť hodnoty premenných v bunke „Hodnota“ aj pomocou samostatného dialógového okna.

Mimochodom, samotné vyhodnotenie výrazov sa teraz vykonáva asynchrónne. To znamená, že konfigurátor nariadi výpočet ladiacej položky. A nejaký čas sa tento výpočet očakáva na serveri. Ak je výpočet dokončený, výsledky sa okamžite odošlú do konfigurátora. Ak výpočet prebieha dlhší čas, potom sa výsledky týchto výpočtov asynchrónne dostávajú do konfigurátora neskôr. Tento prístup vám umožňuje nečakať na dlhé výpočty v konfigurátore a pokračovať v práci.