Debuggen von Serverprozeduren (1Cv82). Debugging-Serverprozeduren (1Cv82) 1c-Debugging-Serverprozeduren

18.10.2016

Debuggen auf einem 1C-Server (8.2, 8.3...)

Wenn die 1C-Datenbank in einer Client-Server-Version ausgeführt wird, ist der Code-Debugging-Modus auf der Serverseite deaktiviert. Daher ist es nicht möglich, Schritt für Schritt zu sehen, was bei der Ausführung einer Funktion oder Prozedur passiert. Um das serverseitige Debuggen zu aktivieren, müssen Sie ein paar einfache Schritte ausführen.

Aktivieren Sie das Debuggen auf dem 1C:Enterprise-Server 8.2, 8.3

Als erstes müssen Sie den 1C:Enterprise-Serverdienst stoppen. Gehen Sie zu „Start – Ausführen“ (oder die Tastenkombination „Windows + R“), schreiben Sie „services.msc“ (natürlich müssen Sie das Steuerelement öffnen Windows-Dienste vom Administrator)

Öffnen Sie nach dem Anhalten den Editor Windows-Registrierung(„Start – Ausführen“ (oder die Tastenkombination „Windows + R“), schreiben Sie „regedit“) und suchen Sie den Zweig mit dem Namen "" oder "" abhängig von der Plattformversion


Uns interessiert der Registrierungsschlüssel mit dem Namen „ImagePath“. Fügen Sie „-debug“ am Ende des Schlüsselwerts hinzu. Dies bedeutet, dass der Debugging-Modus auf der 1C-Serverseite aktiviert ist.
War: „C:\Programme\1cv8\8.3.6.2530\bin\ragent.exe“ -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d „C:\Programme\1cv8\srvinfo“
Wurde: „C:\Programme\1cv8\8.3.6.2530\bin\ragent.exe“ -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d „C:\Programme\1cv8\srvinfo“ -debug


Speichern und starten Sie den 1C-Dienst. Alles ist fertig! Viel Spaß beim Debuggen!

In diesem Artikel wird erläutert, wie Sie das Debuggen auf einem 1C-Server 8.1, 8.2 und 8.3 im laufenden Betrieb aktivieren Windows-Systeme und Ubuntu.

Darüber hinaus stelle ich fest, dass dieser Artikel Teil einer kleinen Artikelserie zum Debuggen in 1C ist:

  • So aktivieren Sie das Debuggen auf einem 1C-Server

Aktivieren Sie das Debuggen auf dem 1C-Server in Windows

Starten Sie den Registrierungseditor, indem Sie den Befehl regedit ausführen (mit Win+R oder Start->Ausführen).

Weitere Informationen zum HTTP-Debugging und zum Debug-Server finden Sie im nächsten Artikel der Serie.

Aktivieren Sie das Debuggen auf dem 1C-Server in Ubuntu

Zuerst installieren wir den Server:

Sudo-Dienst srv1cv83 stoppen

Öffnen Sie anschließend die Datei /etc/init.d/srv1cv83 als Superuser und suchen Sie darin die Zeile:

Und wir bringen es in diese Form:

Dann starten wir den Server erneut:

Sudo-Dienst srv1cv83 starten

Gehen Sie im Konfigurator auf dem Client-Rechner zu „Einstellungen“ -> „1C:Enterprise starten“ -> „Erweitert“ und aktivieren Sie zwei Elemente:

  • „Debug-Aktivierungsmodus festlegen“
  • „Debuggen beim Start starten“

Lesen Sie, wie Sie einen 1C-Server unter Ubuntu 16.04/18.04 installieren.

Das ist alles, ich hoffe, dieser Artikel war für Sie nützlich. Ich möchte Sie auch an andere Artikel in der Reihe zum Debuggen in 1C erinnern; Links dazu finden Sie am Anfang dieses Artikels.

Die Aufgabe eines 1C-Entwicklers besteht nicht nur darin, Code zu schreiben, sondern auch Fehler zu verfolgen und zu korrigieren, einen optimalen Befehlsausführungsalgorithmus zu erstellen und die Arbeitsgeschwindigkeit, also das Debuggen, zu optimieren. Ohne die Funktionalität des integrierten Debuggers von Serverprozeduren ist dies schwierig zu bewerkstelligen.

Der Debugging-Modus ist auf 1C-Servern zunächst deaktiviert, sodass der Entwickler einfache Manipulationen an den Einstellungen vornehmen muss, um den Code gründlich überprüfen zu können.

Aktivieren des Debugging-Modus auf dem Server für die 1C-Plattform Version 8.2 und höher

Der Algorithmus zum Aktivieren des Debuggens ist recht einfach. Es sind keine tiefen Kenntnisse der Architektur erforderlich Betriebssysteme und Verabreichung von 1C. Dennoch sollten Sie sehr vorsichtig sein, da Debugging-Arbeiten direkt auf dem Server und mit Administratorrechten durchgeführt werden. Wenn Sie nicht über umfassende Kenntnisse verfügen, befolgen Sie daher strikt den Aktionsalgorithmus ohne Improvisation:

  • Stoppen Sie den 1C:Enterprise Server Agent-Dienst über den Server-Manager. Erfolgt die Einrichtung auf einem Produktionsserver, dann sollten Sie im Vorfeld darauf achten, dass keine 1C-Benutzer in der Datenbank vorhanden sind;
  • Starten Sie den Systemregistrierungseditor, indem Sie auf „Start“ – „Ausführen“ oder die Tastenkombination „Win“ + „R“ klicken. Geben Sie im sich öffnenden Fenster die Zeile „regedit“ ein;
  • In der Registrierung müssen Sie den Artikel finden;

  • Suchen Sie unter den Parametern nach „ImagePath“ und ändern Sie ihn, indem Sie „-debug“ mit einem Leerzeichen am Ende zum vorhandenen Wert hinzufügen.
  • Starten Sie über den Server-Manager den Dienst, der gestoppt wurde – „1C:Enterprise Server Agent“.

Aktivieren des Debugging-Modus auf dem Server für 1C Version 8.1

Wenn Sie den Debugging-Modus auf Plattform 8.1 aktivieren müssen, bleibt der Aktionsalgorithmus praktisch unverändert. Die einzige Änderung ist die Position des Pfadparameters „ImagePath“. In Version 8.1 befindet es sich im Abschnitt.

1C-Entwickler empfehlen, den Debugging-Modus ausschließlich für Testserver zu aktivieren, auf denen der Code debuggt werden soll. Der Grund für diese Empfehlung liegt in den Leistungseinbußen, die auftreten, wenn das Debuggen auf dem Server aktiviert ist. Wenn Sie viele Benutzer haben oder die Serverleistung zu wünschen übrig lässt, beachten Sie diesen Ratschlag sorgfältig, damit das Debuggen keine negativen Folgen hat.

So starten Sie das Debuggen auf einem 1C-Server...

Standardmäßig funktioniert der 1C-Code-Debugging-Modus bei Verwendung der 1C:Enterprise-Client-Server-Architektur nur auf der Clientseite. Serverprozeduren und -funktionen sind für den Clientcomputer nicht sichtbar.

Um die Verwendung des Debuggings auf dem 1C-Server zu ermöglichen, müssen Sie die folgenden Schritte ausführen:

1. Suchen und stoppen Sie den Dienst „1C:Enterprise Server Agent 8.3“ im Dienstmanager (für Version 8.3).

2. Editor öffnen Systemregistrierung. Sie können die Befehlszeile oder das Menütool „Start – Ausführen...“ und den Befehl verwenden regedit.

3. Suchen Sie den Zweig in der Registrierung:

  • Für Version 1C 8.1
  • Für Version 1C 8.2
  • Für Version 1C 8.3

4. Ändern Sie die ImagePath-Eigenschaft und fügen Sie die Direktive „-debug“ am Ende der Zeile hinzu. Es klappt nächste Zeile Eigenschaften: „C:\Programme (x86)\1cv8\8.3.6.2152\bin\ragent.exe“ -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d „C:\Programme (x86) \1cv8\srvinfo" -debuggen

Anschließend kann der 1C-Servercode sicher mit einem Debugger überprüft und bei Bedarf Haltepunkte gesetzt werden.

Um Serverprozeduren debuggen zu können, müssen Sie die Flags im Formular „Service->Parameters“ des Konfigurators setzen:

Debuggen auf dem Anwendungsserver

Dies ist in der Dokumentation beschrieben:

Buch „1C:Enterprise 8.1. Konfiguration und Administration“

Kapitel 18. Konfigurationstools

Debugger- und Leistungsmessungen

„Debugging-Code auf dem Server

Um den Debug-Modus zu installieren, sollten Sie den 1C:Enterprise-Server mit dem Schlüssel starten Befehlszeile/Debug (ragent.exe /debug).“

Die Startschlüssel des Serveragenten werden im Buch beschrieben:

„1C:Enterprise 8.1. Kundenserver. Merkmale der Installation und Verwendung“

„Der Serveragent wird als Dienst ausgeführt

Wenn Sie bei der Installation eines Serverclusters die Option ausgewählt haben, den zentralen Serveragenten als Dienst auszuführen, dann Der Service wird automatisch während des Installationsvorgangs und auch beim Start des Betriebssystems gestartet.

Wenn der zentrale Serveragent als Anwendung installiert wurde, ist es möglich, den Dienst manuell zu registrieren und dann zu starten.

Die Dienstregistrierung wird mit dem folgenden Befehl durchgeführt:

Ragent.exe -instsrvc -usr<пользователь>-pwd<пароль>-Hafen<порт>-Reichweite<диапазоны>-seclev<уровень>-debug | -rmsrvc | -start | -stoppen

Instsrvc – Registrieren des Cluster-Agenten als Windows-Dienst. Wenn ragent.exe mit diesem Schlüssel gestartet wird, wird es in der Liste der Windows-Dienste registriert und beendet. Nicht kompatibel mit den Schaltern -srvc, -rmsrvc;

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

Pwd<пароль пользователя>– Name und Passwort Windows-Benutzer, in dessen Auftrag ragent.exe als Windows-Dienst gestartet werden sollte. Kann nur in Verbindung mit dem Schalter -instsrvc verwendet werden, wenn ragent.exe als Windows-Dienst registriert wird.

Hafen<порт>– Nummer des Hauptports des Cluster-Agenten. Dieser Port wird von der Cluster-Konsole für den Zugriff auf den zentralen Server verwendet. Der Cluster-Agent-Port wird auch als IP-Port des Arbeitsservers angegeben;

Reichweite<диапазоны>– IP-Portbereiche für dynamische Auswahl. Daraus werden Service-Ports von Cluster-Prozessen ausgewählt, wenn eine Auswahl aus den Einstellungen des entsprechenden Arbeitsservers nicht möglich ist. Standard: 1560-1591. Beispielwerte<диапазоны>: „45:49“, „45:67,70:72,77:90“;

Seclev<уровень>– Sicherheitsstufe des Cluster-Agent-Prozesses. Bestimmt die Sicherheitsstufe von Verbindungen, die mit dem Prozess ragent.exe hergestellt werden.<уровень>kann folgende Werte annehmen: 0 (Standard) Verbindungen sind nicht sicher, 1 – sichere Verbindungen nur für die Dauer der Benutzerauthentifizierung, 2 – dauerhaft sichere Verbindungen.;

Rmsrvc – hebt die Registrierung des Cluster-Agenten als Windows-Dienst auf. Wenn ragent.exe mit diesem Schlüssel gestartet wird, bricht es seine Registrierung in der Liste der Windows-Dienste ab und wird beendet. Nicht kompatibel mit den Schaltern -srvc, -daemon, -instsrvc.

Start – Starten Sie ragent.exe, registriert als Windows-Dienst. Startet ragent.exe, das zuvor als Windows-Dienst registriert war, und beendet es dann;

Stop – stoppt die Registrierung und Ausführung von ragent.exe als Windows-Dienst. Stoppt ragent.exe, das zuvor als Windows-Dienst registriert und ausgeführt wurde, und wird dann beendet;

Debuggen – Starten eines Serverclusters im Konfigurations-Debugging-Modus. "

Wenn also der 1C:Enterprise-Server als Dienst gestartet wurde und aus irgendeinem Grund auch als Dienst im Debug-Modus gestartet werden soll, müssen Sie zunächst die Registrierung des Dienstes aufheben (den Schlüssel -rmsrvc) und ihn dann erneut bei registrieren der -debug-Schlüssel.

Offensichtlich kann ein ähnlicher Effekt auch auf andere Weise erzielt werden, beispielsweise durch direkte Bearbeitung der Windows-Registrierung. Hierzu sollten Sie wahrscheinlich Ihre Windows-Dokumentation zu Rate ziehen.

Funktioniert nur, wenn der Schlüssel „-debug“ in der Registrierung festgelegt ist. In allen anderen Fällen funktioniert es aus irgendeinem Grund nicht.

„ImagePath“=

war „F:\Programme\1cv81\bin\ragent.exe“ -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d „F:\Programme\1cv81\server“

set „F:\Programme\1cv81\bin\ragent.exe“ -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d „F:\Programme\1cv81\server“

gastroguru 2017