1c iespējot atkļūdošanu serverī. Servera atkļūdošanas procedūras (1Cv82)

1C izstrādātāja uzdevums ir ne tikai rakstīt kodu, bet arī izsekot un labot kļūdas, izveidot optimālu komandu izpildes algoritmu un optimizēt darba ātrumu, tas ir, atkļūdošanu. To ir grūti izdarīt, neizmantojot iebūvētā servera procedūru atkļūdotāja funkcionalitāti.

Sākotnēji 1C serveros atkļūdošanas režīms ir atspējots, tāpēc izstrādātājam būs jāveic vienkāršas manipulācijas ar iestatījumiem, lai varētu rūpīgi pārbaudīt kodu.

Atkļūdošanas režīma iespējošana serverī 1C platformas versijai 8.2 un jaunākai versijai

Atkļūdošanas iespējošanas algoritms ir diezgan vienkāršs. Tas neprasa padziļinātas zināšanas par operētājsistēmas arhitektūru un 1C administrēšanu. Tomēr jums joprojām jābūt ļoti uzmanīgiem, jo ​​atkļūdošanas darbs tiek veikts tieši serverī un ar administratora tiesībām. Tāpēc, ja jums nav pamatīgu zināšanu, stingri ievērojiet darbību algoritmu bez improvizācijas:

  • Pārtrauciet 1C:Enterprise Server Agent pakalpojumu, izmantojot servera pārvaldnieku. Ja iestatīšana notiek ražošanas serverī, jums iepriekš jāparūpējas par to, lai datu bāzē nebūtu 1C lietotāju;
  • Palaidiet sistēmas reģistra redaktoru, noklikšķinot uz "Sākt" - "Palaist" vai īsinājumtaustiņu "Win" + "R". Atvērtajā logā ievadiet rindu “regedit”;
  • Reģistrā jums ir jāatrod vienums;

  • Starp parametriem atrodiet “ImagePath” un mainiet to, esošajai vērtībai pievienojot “-debug” ar atstarpi beigās;
  • Izmantojot servera pārvaldnieku, palaidiet pakalpojumu, kas tika apturēts - “1C: Enterprise Server Agent”.

Atkļūdošanas režīma iespējošana serverī 1C versijai 8.1

Ja platformā 8.1 ir jāiespējo atkļūdošanas režīms, darbību algoritms paliek praktiski nemainīgs. Vienīgās izmaiņas ir ceļa parametra "ImagePath" atrašanās vieta. Versijā 8.1 tas atrodas sadaļā.

1C izstrādātāji iesaka iespējot atkļūdošanas režīmu tikai testa serveriem, kur kods ir jāatkļūdo. Šī ieteikuma iemesls ir veiktspējas ietekme, kas rodas, ja serverī ir iespējota atkļūdošana. Ja jums ir daudz lietotāju vai servera jauda atstāj daudz vēlamo, uzmanīgi ievērojiet šo padomu, lai atkļūdošana neradītu negatīvas sekas.

Ieviests versijā 8.3.7.1759.

Mēs esam būtiski pārveidojuši atkļūdošanas mehānismu. Tam bija vairāki iemesli. Pirmkārt, mēs vēlējāmies sniegt jums iespēju atkļūdot katru šodien pieejamo lietojumprogrammu. Otrkārt, iepriekšējā atkļūdotāja arhitektūrā bija nepieciešamas izmaiņas, lai neatpaliktu no pašreizējām tendencēm un pielāgotos turpmākajai attīstībai. Treškārt, bija nepieciešams universāls atkļūdošanas interfeiss, ar kuru ne tikai 1C:Enterprise konfigurators, bet arī .

Galvenās priekšrocības

Lai jūs varētu iedomāties mūsu veikto izmaiņu apjomu, mēs īsumā uzskaitīsim galvenās jaunā mehānisma priekšrocības.

HTTP atkļūdošana

Iepriekšējais atkļūdošanas mehānisms bija balstīts uz faktu, ka atkļūdotājs, kas tika ieviests konfiguratorā 1C:Enterprise, tieši mijiedarbojās ar atkļūdošanas vienumiem (klienta un servera lietojumprogrammām). Šī mijiedarbība tika veikta, izmantojot TCP/IP protokolu.

Tomēr līdz ar 1C:Enterprise lietojumprogrammu izlaišanu internetā un jo īpaši ar mobilo lietojumprogrammu parādīšanos šī pieeja ir kļuvusi par ierobežojumu un neērtību avotu. TCP/IP protokols ne vienmēr ļauj atkļūdotājam “sasniegt” vienumus, kas tiek atkļūdoti. Galu galā tie var atrasties ārpus lokālā tīkla, kurā darbojas atkļūdotājs.

Tāpēc jaunajā mehānismā par transporta protokolu izvēlējāmies “visuresošāko” HTTP protokolu, kuru, starp citu, izmanto arī klientu aplikācijas, lai pieslēgtos informācijas datu bāzēm.

Mūsdienu atkļūdošanas arhitektūra

Iepriekšējā atkļūdošanas mehānisma iezīme bija nepieciešamība izveidot savienojumu ar informācijas bāzi, izmantojot konfiguratoru. Tā rezultātā izstrādātāja atkļūdošanas funkcijai bija pilnīga piekļuve visām administratīvajām funkcijām.

Jaunajam atkļūdošanas mehānismam vairs nav nepieciešams savienojums ar informācijas bāzi, kurā tiek veikta atkļūdošana. Galvenais, kas tagad ir nepieciešams atkļūdotājam, ir tā pati konfigurācija, kas darbojas klientiem. Lai to iegūtu, nav nepieciešams izveidot savienojumu ar informācijas bāzi, kurā tiek veikta atkļūdošana. Varat to ielādēt, piemēram, no faila.

Mobilo lietojumprogrammu atkļūdošana

Pateicoties HTTP protokola izmantošanai, ir kļuvis iespējams atkļūdot lietojumprogrammas, kuras izpilda mobilā platforma. Turklāt jūs varat atkļūdot jebkuru kontekstu: klientu, serveri, kā arī fona darbus.

Tagad atkļūdošanas laikā varat mainīt jebkuru rakstāmo mainīgo vērtības. Lai ātri skatītu un mainītu vietējos mainīgos, esam ieviesuši atsevišķu logu. Un atkļūdotāja parādīto izteiksmju aprēķins tagad tiek veikts asinhronā režīmā.

Atkļūdošana izstrādes rīkos

Veidojot jaunu atkļūdošanas mehānismu, mēs ieviesām jaunu, universālu programmatūras saskarni mijiedarbībai ar to. Šo saskarni izmanto 1C: Enterprise konfigurators, un to pašu interfeisu tagad izmanto arī jaunā izstrādes vide. Tādējādi visas atkļūdošanas iespējas tagad ir pieejamas, strādājot .

Atkļūdošanas procesa arhitektūra

Jaunā atkļūdošanas arhitektūra izskatās šādi:

Atkļūdošana ietver atkļūdotāju, atkļūdošanas vienumus un jaunu elementu - atkļūdošanas serveris.

Nav tiešas informācijas pārsūtīšanas starp atkļūdotāju un atkļūdošanas vienumiem. Visa mijiedarbība tiek organizēta caur atkļūdošanas serveri. Šis ir mehānisma galvenais elements. Atkļūdošanas serverim ir ziņojumu rinda, caur kuru atkļūdotājs un atkļūdošanas vienumi nodod informāciju viens otram.

Gan pats atkļūdotājs, gan atkļūdošanas vienumi sazinās ar atkļūdošanas serveri, izmantojot HTTP. Tāpēc tagad nav svarīgi, kur atrodas šie atkļūdošanas vienumi.

Mijiedarbību ar atkļūdošanas serveri sāk atkļūdotājs un atkļūdošanas vienumi. Šim nolūkam tiek organizēti papildu savienojumi. To galvenais mērķis ir noskaidrot, vai informācija viņiem ir parādījusies atkļūdošanas serverī. Un, ja tā parādās, iegūstiet šo informāciju.

Tādējādi mijiedarbība ir vienpusēja. Informācija tiek pastāvīgi pārsūtīta no atkļūdošanas servera uz atkļūdotāju un atkļūdošanas objektiem.

Informācijas bāzu apzināšana

Iepriekšējā mehānismā informācijas bāzu identificēšanai tika izmantota savienojuma virkne. Šis risinājums dažos gadījumos radīja grūtības saskaņot atkļūdošanas vienumus un konfiguratoru. Jo, pirmkārt, tas bija reģistrjutīgs, un, otrkārt, atkļūdojot dažus kontekstus, platforma automātiski ģenerēja savienojuma virkni. Un tas ne vienmēr sakrita ar to, ko norādījāt, pievienojot informācijas bāzi konfiguratorā. Šādu situāciju atrašana un labošana sarežģīja atkļūdošanas procesu.

Jaunajā mehānismā mēs atbrīvojāmies no savienojuma virknes. Tagad lietojam informācijas bāzes identifikators. Failu informācijas bāzē šāds identifikators tiek ģenerēts, kad pirmo reizi tiek izveidots klienta savienojums. Servera informācijas bāzē kā šāds identifikators tiek izmantots informācijas bāzes reģistrācijas identifikators klasterī.

Jauks papildu punkts šeit ir tas, ka pagaidām platformā esam saglabājuši veco atkļūdošanas mehānismu (nākotnē tas var tikt izslēgts). Un jūs varat to izmantot, ja vēlaties vai ja nepieciešams. Tāpēc mēs esam modificējuši veco mehānismu, un tagad tas izmanto arī informācijas bāzes identifikatoru, nevis savienojuma virkni.

Tipiski atkļūdošanas scenāriji

No lietojumprogrammu izstrādātāja viedokļa tipiskie atkļūdošanas scenāriji nav mainījušies. Vienīgā būtiskā atšķirība ir tā, ka ir jāiespējo jaunais atkļūdošanas mehānisms. Tā kā pēc noklusējuma tas ir atspējots.

Neatkarīgi no tā, ir lietderīgi iepazīties ar to, kas notiek tagad, kad veicat atkļūdošanu. Jo tas var jums noderēt dažos nestandarta darba scenārijos.

Faila opcija

Pirms sākat atkļūdošanu faila versijā, konfiguratora iestatījumos ir jānorāda, ka vēlaties izmantot jauno atkļūdošanas mehānismu - " HTTP atkļūdošana».

Šādā gadījumā konfigurators automātiski liks jums izmantot vietējo atkļūdošanas serveri. Jums ir jāpiekrīt tam un jārestartē konfigurators.

Iestatītā atkļūdošanas metode tiek saglabāta starp konfiguratora sesijām, taču tā tiek saglabāta informācijas bāzu kontekstā. Tāpēc citai informācijas bāzei tā būs jāiespējo vēlreiz.

Tagad, startējot konfiguratoru vai restartējot to, platforma automātiski palaidīs atkļūdošanas serveri. Šī ir atsevišķa dbgs.exe lietojumprogramma. To var redzēt uzdevumu pārvaldniekā.

Parametrs ownerPID norāda tās lietojumprogrammas identifikatoru, kurai pieder šis atkļūdošanas serveris. Šajā gadījumā tas ir 1C:Enterprise konfigurators.

Tagad, ja palaižat 1C:Enterprise atkļūdošanas sesiju no konfiguratora, tas automātiski izveidos savienojumu ar atkļūdošanas serveri, un konfiguratorā jūs redzēsit pievienotos atkļūdošanas vienumus.

Ja 1C:Enterprise sesija tika palaista bez atkļūdošanas, tad, tāpat kā iepriekš, varat to savienot ar atkļūdotāju. Tikai tagad jums jānorāda atkļūdošanas servera adrese:

Šo adresi varat atrast atkļūdošanas vienumu iestatījumos:

Ir viens neparasts punkts, kas saistīts ar darbu ar vairākām failu datu bāzēm vienlaikus. Faila versijā katrs konfigurators ar iespējotu http atkļūdošanu palaiž savu atkļūdošanas servera kopiju dažādos portos:

Tāpēc, ja vienlaikus ir atvērti vairāki konfiguratori, tad, lai savienotu klienta lietojumprogrammu ar atkļūdotāju, ir jāizvēlas pareizais.

Klienta-servera opcija

Pirms atkļūdošanas sākšanas klienta-servera versijā, tāpat kā iepriekš, 1C:Enterprise serveris jāpalaiž atkļūdošanas režīmā, taču jānorāda, ka atkļūdošanai tiks izmantots jaunais HTTP mehānisms. Piemēram, šādi:

ragent.exe -atkļūdošana -http

Kad serveris tiek startēts šādā veidā, tiks palaists arī atkļūdošanas serveris.

Parametrs ownerPID norādīs 1C:Uzņēmuma klastera pārvaldnieka identifikatoru.

Tagad konfiguratora iestatījumos, tāpat kā failu datu bāzes gadījumā, jums jānorāda, ka vēlaties izmantot jauno atkļūdošanas mehānismu - " HTTP atkļūdošana».

Šādā gadījumā konfigurators automātiski liks jums izmantot klastera atkļūdošanas serveri, nevis vietējo serveri. Jums ir jāpiekrīt tam un jārestartē konfigurators.

Atkļūdošanas vienumu savienošana

Kad sākat atkļūdošanas sesijas no konfiguratora, lietojumprogrammas automātiski savieno atkļūdošanas vienumus (gan klientu, gan serveri) ar atkļūdošanas serveri.

Tajā pašā laikā, tāpat kā iepriekš, jums ir iespēja konfigurēt konfiguratoru, lai automātiski savienotu atkļūdošanas vienumus neatkarīgi no tā, kā tie tika palaisti. Tagad šīs iespējas ir kļuvušas daudz bagātākas.

Pirmkārt, platforma tagad piedāvā visus iespējamos atkļūdošanas vienumus, no kuriem izvēlēties.

Un, otrkārt, ir parādījies cits, smalkāks iestatīšanas veids. Tas ir iepriekš izveidoto izlašu izmantošana.

Šādas atlases varat izmantot gan savienojot atkļūdošanas vienumus, gan lai skatītu pieejamos atkļūdošanas vienumus.

Atlasē papildus pašiem atkļūdošanas vienumiem varat norādīt konkrētus lietotājus, kuru sesijas jūs interesē, kā arī, ja tiek izmantota datu atdalīšana, norādīt informācijas bāzes apgabalu, kurā tiks veikta atkļūdošana.

Mainīgo, objekta rekvizītu maiņa un izteiksmju asinhrona novērtēšana

Jaunais atkļūdošanas mehānisms ļauj mainīt mainīgās vērtības atkļūdošanas laikā. Iepriekšējā mehānismā šādas iespējas nebija.

Ērtai vietējo mainīgo skatīšanai un mainīšanai, kas, šķiet, ir visizplatītākais uzdevums, esam ieviesuši “ Vietējie mainīgie».

Ārēji tas ir ļoti līdzīgs “Rezultātu tablo”, pie kura esat pieradis. Bet, pirmkārt, šis logs jau ir automātiski aizpildīts ar visiem vietējiem mainīgajiem, un, otrkārt, tagad varat mainīt mainīgo vērtības.

Primitīvo tipu vērtības var mainīt tieši šūnā " Nozīme»:

Un, lai mainītu citas vērtības, varat izmantot izteiksmes ievades logu:

Jauks bonuss ir tas, ka kontekstuālais rīka padoms šajā logā ir pilnībā funkcionāls.

Tieši tādā pašā veidā jūs varat mainīt jebkura (ne tikai vietējo) mainīgo un rakstāmo rekvizītu vērtības. Izteiksmes aprēķināšanas logā (ko izsauc komanda Shift+F9) varat mainīt mainīgo vērtības gan šūnā “Vērtība”, gan izmantojot atsevišķu dialoglodziņu.

Starp citu, pats izteiksmes aprēķins tagad tiek veikts asinhroni. Tas nozīmē, ka konfigurators pasūta atkļūdošanas vienuma aprēķinu. Un kādu laiku šis aprēķins ir gaidāms serverī. Ja aprēķins ir pabeigts, rezultāti nekavējoties tiek nosūtīti konfiguratoram. Ja aprēķins tiek veikts ilgu laiku, šo aprēķinu rezultāti asinhroni nonāk konfiguratorā vēlāk. Šī pieeja ļauj negaidīt ilgus aprēķinus konfiguratorā un turpināt darbu.

Šajā rakstā ir runāts par to, kā iespējot atkļūdošanu 1C serverī 8.1, 8.2 un 8.3 operētājsistēmās Windows un Ubuntu.

Turklāt es atzīmēju, ka šis raksts ir daļa no nelielas rakstu sērijas par atkļūdošanu 1C:

  • Kā iespējot atkļūdošanu 1C serverī

Iespējojiet atkļūdošanu 1C serverī sistēmā Windows

Palaidiet reģistra redaktoru, izpildot komandu regedit (izmantojot Win+R vai Sākt->Palaist).

Vairāk par HTTP atkļūdošanu un atkļūdošanas serveri varat lasīt nākamajā sērijas rakstā.

Iespējojiet atkļūdošanu Ubuntu 1C serverī

Vispirms mēs instalējam serveri:

sudo servisa srv1cv83 pietura

Pēc tam atveriet failu /etc/init.d/srv1cv83 kā superlietotāju un atrodiet tajā rindiņu:

Un mēs to izveidojam šādā formā:

Pēc tam mēs atkal startējam serveri:

sudo pakalpojuma srv1cv83 sākums

Klienta mašīnas konfiguratorā dodieties uz “Iestatījumi” -> “Palaist 1C:Uzņēmums” -> “Papildu” un iespējojiet divus vienumus:

  • "Iestatīt atkļūdošanas iespējošanas režīmu"
  • "Sākt atkļūdošanu startēšanas laikā"

Varat lasīt par to, kā instalēt 1C serveri Ubuntu versijā 16.04/18.04.

Tas arī viss, es ceru, ka šis raksts jums bija noderīgs. Atgādināšu arī par citiem rakstiem sērijā par atkļūdošanu 1C; saites uz tiem ir atrodamas šī raksta sākumā.

Kā sākt atkļūdošanu 1C serverī...

Pēc noklusējuma, izmantojot 1C:Enterprise klienta-servera arhitektūru, 1C koda atkļūdošanas režīms darbojas tikai klienta pusē. Servera procedūras un funkcijas nav redzamas klienta mašīnai.

Lai iespējotu atkļūdošanas izmantošanu 1C serverī, jums jāveic šādas darbības:

1. Pakalpojumu pārvaldniekā atrodiet un apturiet pakalpojumu “1C:Enterprise Server Agent 8.3” (versijai 8.3).

2. Atveriet sistēmas reģistra redaktoru. Varat izmantot komandrindu vai izvēlnes rīku Sākt - Palaist... un komandu regedit.

3. Reģistrā atrodiet filiāli:

  • Versijai 1C 8.1
  • Versijai 1C 8.2
  • Versijai 1C 8.3

4. Mainiet ImagePath rekvizītu, pievienojiet direktīvu “-debug” rindas beigās. Jūs saņemsiet šādu rekvizītu rindu: “C:\Program Files (x86)\1cv8\8.3.6.2152\bin\ragent.exe” -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C: \Program Files (x86)\1cv8\srvinfo" – atkļūdošana

Pēc tam 1C servera kodu var droši pārbaudīt ar atkļūdotāju un iestatīt pārtraukuma punktus, kur vien nepieciešams.

18.10.2016

Atkļūdošana 1C serverī (8.2, 8.3...)

Ja 1C datu bāze darbojas klienta-servera versijā, koda atkļūdošanas režīms servera pusē ir atspējots. Tāpēc soli pa solim nebūs iespējams redzēt, kas notiek, izpildot funkciju vai procedūru. Lai iespējotu servera puses atkļūdošanu, jums ir jāveic dažas vienkāršas darbības.

Iespējot atkļūdošanu 1C:Enterprise serverī 8.2, 8.3

Pirmā lieta, kas jums jādara, ir apturēt 1C: Enterprise servera pakalpojumu. Dodieties uz "Start - Run" (vai īsinājumtaustiņu "Windows + R"), ierakstiet "services.msc" (protams, jums ir jāatver Windows pakalpojumu pārvaldība no administratora)

Pēc apstāšanās atveriet Windows reģistra redaktoru ("Start - Run" (vai īsinājumtaustiņš "Windows + R") un ierakstiet "regedit") un atrodiet filiāli ar nosaukumu. "" vai "" atkarībā no platformas versijas


Mūs interesē reģistra atslēga ar nosaukumu "ImagePath". Atslēgas vērtības beigās pievienojiet "-debug". Tas nozīmē, ka 1C servera pusē ir aktivizēts atkļūdošanas režīms.
Bija: "C:\Program Files\1cv8\8.3.6.2530\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Kļuva: "C:\Program Files\1cv8\8.3.6.2530\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug


Saglabājiet un sāciet pakalpojumu 1C. Viss ir gatavs! Laimīgu atkļūdošanu!