Erweiterte CDB-Tools Umgebung¶
upkeep.bat
¶
Ein Skript für den Build & Update der CDB-Tools, das nacheinander die folgenden Operationen anbietet:
bootstrap (nur online möglich)
download (nur online möglich)
install (auch offline möglich)
update launcher (auch offline möglich)
ZIP CDB-Tools (auch offline möglich)
tools-sh.bat
¶
Startet eine Shell mit der erweiterten Laufzeitumgebung der CDB-Tools. Auch zu
erkennen an dem Prompt [CDBTools]
und nicht zu verwechseln mit einer
gewöhnlichen CDB Umgebung mit dem Prompt [cdbsrv-11.3.10:cust_dev]
(oder
ähnlich, s.a. Konsolen Prompt der Umgebungen).
------------------------------------------------------------
CDB-Tools environment
------------------------------------------------------------
CADDOK_RUNTIME: C:\share\contact\cdbsrv-11.3.10
CADDOK_BASE: C:\share\cdb_cust_dev
CADDOK_DEFAULT: cust_dev@C:\share\cdb_cust_dev
HOME: C:\Users\user
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. Alle Rechte vorbehalten.
Clink v0.4.8 [git:d565ad] Copyright (c) 2012-2016 Martin Ridgers
http://mridgers.github.io/clink
C:\share\cdb_cust_dev
[CDBTools]$
tools-python.bat
¶
Startet den Python-Interpreter von CDB in der CDB-Tools Umgebung. Als REPL
kommt ptpython zum Einsatz. Hier ein Beispiel, bei dem zu erkennen ist, dass
das lxml
Paket aus der CDB-Tools Umgebung bezogen wird:
------------------------------------------------------------
CDB-Tools environment
------------------------------------------------------------
CADDOK_RUNTIME: C:\share\contact\cdbsrv-11.3.10
CADDOK_BASE: C:\share\cdb_cust_dev
CADDOK_DEFAULT: cust_dev@C:\share\cdb_cust_dev
HOME: C:\Users\user
>>> import lxml
>>> lxml
<module 'lxml' from 'C:\share\cdb-tools\py27\Python27\site-packages\lxml\__init__.pyc'>
>>> import cust.plm
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cust.plm
No module named cust.plm
Hinweis
Der Python Interpreter (python.exe
) baut kein CDB RTE auf, es stehen nur
die Python Pakete aus CDB (als auch aus den CDB-Tools) zur Verfügung. Python
Programme, die im Kontext der CDB-Instanz arbeiten müssen immer mit dem
powerscript.exe
Interpreter gestartet werden.
tools-studio.bat
¶
Startet das CDB PowerScript Studio (aka. eclipse) von CDB in der CDB-Tools Umgebung.
tools-powerscript.bat
¶
Startet den PowerScript Interpreter von CDB in der CDB-Tools Umgebung. Als REPL
kommt ptpython zum Einsatz. Hier ein Beispiel, bei dem zu erkennen ist, dass
das lxml
Paket aus der CDB-Tools Umgebung bezogen wird. Da es sich im
PowerScript handelt können auch die Pakete aus der CDB-Instanz importiert
werden:
------------------------------------------------------------
CDB-Tools environment
------------------------------------------------------------
CADDOK_RUNTIME: C:\share\contact\cdbsrv-11.3.10
CADDOK_BASE: C:\share\cdb_cust_dev
CADDOK_DEFAULT: cust_dev@C:\share\cdb_cust_dev
HOME: C:\Users\user
>>> import lxml
>>> lxml
<module 'lxml' from 'C:\share\cdb-tools\py27\Python27\site-packages\lxml\__init__.pyc'>
>>> import cust.plm
>>> cust.plm
<module 'cust.plm' from 'c:\share\cdb_cust_dev\cust.plm\cust\plm\__init__.pyc'>
tools-localhost-START.bat
¶
Eignet sich für remote Debug-Zwecke in einer Entwickler Installation (eine einfache Alternative zum PyDev Remote Debugger). Es wird der lokale CDB Server und die für den localhost konfigurierten Dienste in einer CDB-Tools Umgebung gestartet (vergleiche cdb-localhost-START.bat). Gleichzeitig startet in der Konsole ein Listener, der auf Breakpoints lauscht. Einen Breakpoint setzt man wie folgt:
from dm.cdbtools import BP
BP()
Wird der Breakpoint erreicht, so öffnet der Listener eine Py-Debugger Sitzung
(siehe pdb). Setzt man einen neuen Breakpoint in den Sourcen, so muss nicht
immer der CDBSVCD
Prozess neu gestartet werden. So reicht es beispielsweise
aus, den PC-Client neu zu starten wenn man lediglich die Sourcen eines
cdbsrv
Prozess debuggen will (klassische UserExit Programmierung wie im
PowerScript Studio).
Vorteil des remote Debugging ist, dass man hiermit jeden Server-Prozess debuggen kann und das auch alle Dienste laufen. Im Powerscript-Studio läuft normalerweise nur der cdbsrv Prozess im Debug Modus und man vermisst evtl. Services die beispielsweise die eLink Anwendungen bereit stellen.
Die Kommunikation zwischen dem Debugger-Client und dem Breakpoint erfolgt über IP sockets, weshalb man das auch remote Debugging nennen kann. Prinzipell ist es auch möglich Server Prozesse auf entfernten Hosts zu debuggen, jedoch sollte man in einer verteilten Umgebung darauf achten, dass die Breakpoints nicht von anderen Benutzern oder Prozessen erreicht werden (können). In der Regel wird man diese Art des Debugging nur in lokalen Entwickler Umgebungen nutzen. Dort kann es dann aber u.U. auch eine große Hilfe sein, wo man bisher nur die Möglichkeit hatte Logfiles zu lesen.
cdbtools-activate.bat
¶
Mit dem Scripten:
win_bin/cdbtools-activate.bat
undwin_bin/cdbtools-deactivate.bat
kann die CDB-Tools Umgebung aktiviert resp. deaktiviert werden. Will man nur ein Kommando aus den CDB-Tools ausführen, nicht aber die ganze Umgebung in der Shell aktiveren, so kann man das Skript auch als Wrapper nutzen. Hier ein Beispiel für den Aufruf von Pylint:
C:\share\cdb-tools\win_bin\cdbtools-activate.bat pylint