Počítače a moderné prístroje

Úlohou vývojára 1C nie je len písať kód, ale aj sledovať a opravovať chyby, zostavovať optimálny algoritmus vykonávania príkazov a optimalizovať rýchlosť práce, teda ladenie. Je ťažké to urobiť bez použitia funkcií vstavaného debuggera serverových procedúr.

Spočiatku je režim ladenia na serveroch 1C zakázaný, takže vývojár bude musieť vykonať jednoduché manipulácie s nastaveniami, aby mohol dôkladne skontrolovať kód.

Povolenie režimu ladenia na serveri pre platformu 1C verzie 8.2 a vyššej

Algoritmus na povolenie ladenia je pomerne jednoduchý. Nepredpokladá hĺbkovú znalosť architektúry operačného systému a administrácie 1C. Stále by ste však mali byť veľmi opatrní, pretože ladenie sa vykonáva priamo na serveri a s právami správcu. Preto, ak nemáte dôkladné znalosti, prísne dodržiavajte algoritmus akcií bez improvizácie:

  • Zastavte službu 1C:Enterprise Server Agent prostredníctvom Server Manager. Ak sa nastavenie uskutoční na produkčnom serveri, mali by ste sa vopred postarať o neprítomnosť používateľov 1C v databáze;
  • Spustite editor systémového registra kliknutím na „Štart“ - „Spustiť“ alebo klávesovou skratkou „Win“ + „R“. V okne, ktoré sa otvorí, zadajte riadok „regedit“;
  • V registri musíte nájsť položku;

  • Medzi parametrami nájdite „ImagePath“ a zmeňte ho pridaním „-debug“ k existujúcej hodnote s medzerou na konci;
  • Prostredníctvom správcu servera spustite službu, ktorá bola zastavená - „1C:Enterprise Server Agent“.

Povolenie režimu ladenia na serveri pre verziu 1C 8.1

Ak potrebujete povoliť režim ladenia na platforme 8.1, algoritmus akcií zostane prakticky nezmenený. Jedinou zmenou je umiestnenie parametra cesty „ImagePath“. Vo verzii 8.1 sa nachádza v sekcii.

Vývojári 1C odporúčajú povoliť režim ladenia výlučne pre testovacie servery, kde by sa mal ladiť kód. Dôvodom tohto odporúčania je vplyv na výkon, ku ktorému dochádza, keď je na serveri povolené ladenie. Ak máte veľa používateľov alebo výkon servera zanecháva veľa požiadaviek, berte túto radu opatrne, aby ladenie nemalo negatívne dôsledky.

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:Podnikanie 8.1. Konfigurácia a správa"

Kapitola 18. Konfiguračné nástroje

Debugger a meranie výkonu

"Ladiaci kód na serveri."

Ak chcete nainštalovať režim ladenia, mali by ste spustiť server 1C:Enterprise s prepínačom príkazového riadka /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"

"Spustenie serverového agenta ako služby."

Ak ste pri inštalácii serverového klastra zvolili možnosť spustenia centrálneho serverového agenta ako služby, potom 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 následne ju spustiť.

Registrácia služby sa vykonáva pomocou nasledujúceho príkazu:

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 do zoznamu služieb systému Windows a ukončí sa. Nie je kompatibilné s prepínačmi -srvc, -rmsrvc;

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

Pwd<пароль пользователя>– meno a heslo používateľa systému Windows, pod menom ktorého sa má spustiť ragent.exe ako služba systému Windows. Dá sa použiť len v spojení s prepínačom -instsrvc pri registrácii ragent.exe ako služby Windows;

Port<порт>– číslo hlavného portu klastrového agenta. Tento port používa klastrová konzola na prístup k centrálnemu serveru. 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 klastrových procesov, ak ich nie je možné vybrať z nastavení príslušného pracovného servera. Predvolená hodnota: 1560-1591. Príklady hodnôt<диапазоны>: "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í s týmto kľúčom, zruší svoju registráciu v zozname služieb Windows a ukončí sa. Nie je kompatibilné s prepínačmi -srvc, -daemon, -instsrvc.

Štart - spustí ragent.exe, registrovaný 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čí;

Debug – spustenie serverového klastra v režime ladenia konfigurácie. "

Ak bol teda server 1C:Enterprise spustený ako služba a z nejakého dôvodu by sa mal spustiť 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 registra Windows. Ak to chcete urobiť, pravdepodobne by ste si mali pozrieť dokumentáciu systému Windows.

Funguje iba vtedy, keď je v registri nastavený kľúč „-debug“. 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"

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

18.10.2016

Ladenie na serveri 1C (8.2, 8.3...)

Ak je databáza 1C spustená vo verzii klient-server, režim ladenia kódu na strane servera je zakázaný. Preto nebude možné vidieť krok za krokom, čo sa stane pri vykonávaní funkcie alebo procedúry. Ak chcete povoliť ladenie na strane servera, musíte vykonať niekoľko jednoduchých krokov.

Povoliť ladenie na serveri 1C:Enterprise 8.2, 8.3

Prvá vec, ktorú musíte urobiť, je zastaviť službu servera 1C:Enterprise. Prejdite na "Štart - Spustiť" (alebo klávesovú skratku "Windows + R"), napíšte "services.msc" (samozrejme musíte otvoriť správu služieb Windows od správcu)

Po zastavení otvorte editor registra Windows ("Štart - Spustiť" (alebo klávesovú skratku "Windows + R") a napíšte "regedit") a nájdite vetvu s názvom "" alebo "" v závislosti od verzie platformy


Zaujíma nás kľúč databázy Registry s názvom "ImagePath". Pridajte „-debug“ na koniec hodnoty kľúča. To znamená, že je aktivovaný režim ladenia na strane servera 1C.
bol: "C:\Program Files\1cv8\8.3.6.2530\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Sa stal: "C:\Program Files\1cv8\8.3.6.2530\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug


Uložte a spustite službu 1C. Všetko je pripravené! Šťastné ladenie!

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 „1C:Enterprise Server Agent 8.3“ v správcovi služieb (pre verziu 8.3).

2. Otvorte editor systémového registra. Môžete použiť príkazový riadok alebo ponuku Štart - Spustiť... a príkaz regedit.

3. Nájdite pobočku v registri:

  • Pre verziu 1C 8.1
  • Pre verziu 1C 8.2
  • Pre verziu 1C 8.3

4. Zmeňte vlastnosť ImagePath, pridajte direktívu „-debug“ na koniec riadku. Dostanete nasledujúci riadok vlastností: „C:\Program Files (x86)\1cv8\8.3.6.2152\bin\ragent.exe“ -srvc -agent -regport 1541 -port 1540 -rozsah 1560:1591 -d "C: \Program Files (x86)\1cv8\srvinfo" – ladiť

Potom je možné kód servera 1C bezpečne skontrolovať pomocou debuggeru a kedykoľvek je to potrebné, môžete nastaviť body prerušenia.

Tento článok hovorí o tom, ako povoliť ladenie na serveri 1C 8.1, 8.2 a 8.3 v operačných systémoch Windows a Ubuntu.

Okrem toho poznamenávam, že tento článok je súčasťou malej série článkov o ladení v 1C:

  • Ako povoliť ladenie na serveri 1C

Povoliť ladenie na serveri 1C v systéme Windows

Spustite editor databázy Registry spustením príkazu regedit (pomocou Win+R alebo Štart->Spustiť).

Viac o ladení HTTP a ladiacom serveri si môžete prečítať v ďalšom článku série.

Povoliť ladenie na serveri 1C v Ubuntu

Najprv nainštalujeme server:

sudo služba srv1cv83 stop

Potom otvorte súbor /etc/init.d/srv1cv83 ako superuser a nájdite v ňom riadok:

A prinášame to do tejto podoby:

Potom znova spustíme server:

spustenie služby sudo srv1cv83

V konfigurátore na klientskom počítači prejdite na „Nastavenia“ -> „Spustiť 1C:Enterprise“ -> „Rozšírené“ a povoľte dve položky:

  • "Nastaviť režim povolenia ladenia"
  • "Spustiť ladenie pri spustení"

Môžete si prečítať o tom, ako nainštalovať server 1C na Ubuntu 16.04/18.04.

To je všetko, dúfam, že tento článok bol pre vás užitočný. Dovoľte mi pripomenúť aj ďalšie články zo série o ladení v 1C, odkazy na ne nájdete na začiatku tohto článku.

Ak si všimnete chybu, vyberte časť textu a stlačte Ctrl+Enter
ZDIEĽAM:
Počítače a moderné prístroje