Senden der Bug Finder-Analyse vom Desktop an einen lokal gehosteten Server
Sie können eine Polyspace®-Analyse lokal auf Ihrem Desktop durchführen oder die Analyse auf einen oder mehrere dedizierte Server auslagern. Dieses Thema zeigt eine einfache Server-Client-Konfiguration zum Auslagern der Polyspace-Analyse. In dieser Konfiguration fungiert derselbe Computer als Client, der eine Polyspace-Analyse übermittelt, und als Server, der die Analyse ausführt.
Sie können dieses Tutorial auf komplexere Konfigurationen ausweiten. Eine vollständige Anleitung zur Einrichtung und zum Workflow finden Sie unter den unten stehenden Links.
Hinweis
Die Versionen von Polyspace auf den Client- und Server-Rechnern müssen identisch sein.
Client-Server-Workflow für die Ausführung von Analysen
Nach der Ersteinrichtung können Sie eine Polyspace-Analyse von einem Client-Desktop an einen Server senden. Der Client-Server-Workflow erfolgt in drei Schritten. Alle drei Schritte können auf demselben Computer oder auf drei verschiedenen Computern ausgeführt werden. In diesem Tutorial wird für den gesamten Workflow derselbe Computer verwendet.
Client-Knoten: Sie legen Polyspace-Analyseoptionen fest und starten die Analyse auf dem Client-Desktop. Die erste Phase der Analyse bis zur Kompilierung wird auf dem Desktop ausgeführt. Nach der Kompilierung wird der Analyseauftrag an den Server übermittelt.
Sie benötigen das Polyspace-Desktopprodukt Polyspace Bug Finder™ auf dem Computer, der als Client-Knoten fungiert.
Haupt-Knoten: Der Server besteht aus einem Haupt-Knoten und mehreren Worker-Knoten. Der Haupt-Knoten verwendet einen Job-Scheduler, um Übermittlungen von mehreren Client-Desktops zu verwalten. Die Aufgaben werden dann an die Worker-Knoten verteilt, sobald diese verfügbar sind.
Sie benötigen das Produkt MATLAB® Parallel Server™ auf dem Computer, der als Haupt-Knoten fungiert.
Worker-Knoten: Sobald ein Worker verfügbar ist, weist der Job-Scheduler die Analyse dem Worker zu. Die Polyspace-Analyse wird auf dem Worker ausgeführt und die Ergebnisse werden zur Überprüfung auf den Desktop des Clients zurückgeladen.
Sie benötigen das Produkt MATLAB Parallel Server auf den Computern, die als Worker-Knoten fungieren. Sie benötigen außerdem das Polyspace-Serverprodukt, Polyspace Bug Finder Server™, um die Analyse auszuführen.
Siehe auch Install Products for Submitting Polyspace Analysis from Desktops to Remote Server.
Voraussetzungen
In diesem Tutorial wird derselbe Computer als Client und Server verwendet. Sie müssen Folgendes auf dem Computer installieren:
Client-seitiges Produkt: Polyspace Bug Finder
Server-seitige Produkte: MATLAB Parallel Server und Polyspace Bug Finder Server
Weitere Informationen finden Sie unter Install Products for Submitting Polyspace Analysis from Desktops to Remote Server.
Sie müssen den Hostnamen Ihres Computers kennen. Öffnen Sie beispielsweise in Windows® ein Befehlszeilenfenster und geben Sie Folgendes ein:
hostname |
Konfigurieren und Starten des Servers
Beenden vorheriger Dienste
Wenn Sie zuvor die Dienste von MATLAB Parallel Server (mjs
-Dienste) gestartet haben, stellen Sie sicher, dass Sie alle Dienste beendet haben. Insbesondere müssen Sie möglicherweise Folgendes tun:
Überprüfen Sie Ihren temporären Ordner, beispielsweise
C:\Windows\Temp
in Windows, und löschen Sie den OrdnerMDCE
, falls vorhanden.Beenden Sie explizit alle Dienste. Dieser Schritt ist unter Linux® nicht erforderlich.
Öffnen Sie ein Befehlszeilenfenster. Navigieren Sie zu
(mithilfe vonmatlabroot
\toolbox\parallel\bincd
) und geben Sie Folgendes ein:mjs uninstall -clean
Hier ist
der Installationsordner MATLAB Parallel Server, beispielsweisematlabroot
C:\Program Files\MATLAB\R2025b
.
Wenn Sie die Dienste zum ersten Mal starten, müssen Sie diese Schritte nicht ausführen.
Konfigurieren von Einstellungen für mjs
-Dienste
Bevor Sie die Dienste starten können, müssen Sie die Einstellungen für den mjs
-Dienst konfigurieren. Navigieren Sie zu
, wobei matlabroot
\toolbox\parallel\bin
der MATLAB Parallel Server-Installationsordner ist, beispielsweise matlabroot
C:\Program Files\MATLAB\R2025b
. Ändern Sie diese beiden Dateien. Um diese Dateien zu bearbeiten und zu speichern, müssen Sie Ihren Editor im Administratormodus öffnen.
mjs_def.bat
(Windows) odermjs_def.sh
(Linux)Beachten Sie die Anweisungen in der Datei und entfernen Sie gegebenenfalls die Auskommentierungen. Möglicherweise müssen Sie mindestens die folgenden Zeilen auskommentieren:
Hostname:
in Windows oderREM set HOSTNAME=myHostName
in Linux. Entfernen Sie#HOSTNAME=`hostname -f`
REM
oder#
und geben Sie den Hostnamen Ihres Computers explizit an.Sicherheitsstufe:
in Windows oderREM set SECURITY_LEVEL=
in Linux. Entfernen Sie#SECURITY_LEVEL=""
REM
oder#
und geben Sie explizit eine Sicherheitsstufe an.
Andernfalls kann beim Starten des Job-Schedulers später eine Fehlermeldung angezeigt werden.
mjs_polyspace.conf
Ändern Sie die Zeile, die sich auf ein Stammverzeichnis des Polyspace-Serverprodukts bezieht, und entfernen Sie die Auskommentierung. Die Zeile sollte sich auf die Versionsnummer und den Stammordner Ihrer Polyspace-Serverproduktinstallation beziehen. Wenn beispielsweise die Version R2025b von Polyspace Bug Finder Server im Stammordner
C:\Program Files\Polyspace Server\R2025b
installiert ist, ändern Sie die Zeile wie folgt:POLYSPACE_SERVER_ROOT=C:\Program Files\Polyspace Server\R2025b
Andernfalls kann die MATLAB Parallel Server-Installation die Polyspace Bug Finder Server-Installation nicht finden, um die Analyse auszuführen.
Starten der Dienste
Starten Sie die mjs
-Dienste und weisen Sie den aktuellen Computer sowohl als Haupt-Knoten als auch als Worker-Knoten zu.
Navigieren Sie zu
, wobei matlabroot
\toolbox\parallel\bin
der MATLAB Parallel Server-Installationsordner ist, beispielsweise matlabroot
C:\Program Files\MATLAB\R2025b
. Führen Sie die folgenden Befehle aus (direkt in der Befehlszeile oder mithilfe von Skripten):
mjs install mjs start startjobmanager -name JobScheduler -remotehost hostname -v startworker -jobmanagerhost hostname -jobmanager JobScheduler -remotehost hostname -v |
Hier ist
der Hostname Ihres Computers. Dies ist der Hostname, den Sie in der Datei hostname
mjs_def.bat
(Windows) oder mjs_def.sh
(Linux) angegeben haben. Beachten Sie, dass Sie in Linux den Befehl mjs install
nicht benötigen.
Anstelle der Befehlszeile können Sie die Dienste auch über die Admin Center-Schnittstelle starten. Siehe Install Products for Submitting Polyspace Analysis from Desktops to Remote Server.
Weitere Informationen zu den Befehlen finden Sie unter Configure Advanced Options for MATLAB Job Scheduler Integration (MATLAB Parallel Server).
Konfigurieren des Client
Öffnen Sie die Benutzeroberfläche des Desktopprodukts Polyspace Bug Finder. Navigieren Sie zu
, wobei polyspaceroot
\polyspace\bin
der Installationsordner für das Polyspace-Desktopprodukt ist, beispielsweise polyspaceroot
C:\Program Files\Polyspace\R2025b
, und doppelklicken Sie auf die ausführbare Datei polyspace
.
Wählen Sie Tools > Preferences aus. Geben Sie auf der Registerkarte Server configuration den Hostnamen Ihres Computers für Job scheduler host name ein.
Sie sind nun für den Server-Client-Workflow eingerichtet.
Senden der Analyse vom Client an den Server
Führen Sie den Bug Finder für die Datei numerical.c
aus, die Sie mit Ihrer Installation erhalten haben.
Bevor Sie diese Schritte ausführen, fügen Sie den Pfad
zur polyspaceroot
\polyspace\binPATH
-Umgebungsvariablen Ihres Betriebssystems hinzu, um die Eingabe der vollständigen Pfade zu den ausführbaren Dateien von Polyspace zu vermeiden. Hier ist
der Installationsordner für das Desktopprodukt Polyspace, beispielsweise polyspaceroot
C:\Program Files\Polyspace\R2025b
. Um zu überprüfen, ob der Pfad bereits hinzugefügt wurde, öffnen Sie ein Befehlszeilenfenster und geben Sie Folgendes ein:
polyspace-bug-finder -h |
Wenn der Pfad zum Befehl bereits hinzugefügt wurde, wird die vollständige Liste der Optionen angezeigt.
Kopieren Sie die Datei
numerical.c
aus dem Ordner
in einen Ordner mit Schreibberechtigung.polyspaceroot
\polyspace\examples\cxx\Bug_Finder_Example\sourcesÖffnen Sie ein Befehlszeilenfenster. Navigieren Sie zu dem Ordner, in dem Sie
numerical.c
gespeichert haben, und geben Sie Folgendes ein:polyspace-bug-finder -sources numerical.c -checkers numerical -results-dir . -batch -scheduler hostname
Hier ist
der Hostname Ihres Computers.hostname
Nach der Kompilierung wird die Analyse an einen Server übermittelt und eine Auftrags-ID zurückgegeben. Um eine Code Prover-Analyse durchzuführen, verwenden Sie bitte
polyspace-code-prover
anstelle vonpolyspace-bug-finder
. Sie können den Befehlpolyspace-code-prover
nur mit einer Polyspace Bug Finder-Lizenz ausführen, sofern Sie die Option-batch
verwenden.Sehen Sie den Status des aktuellen Auftrags an.
polyspace-jobs-manager listjobs -scheduler hostname
Sie können den aktuellen Auftrag mithilfe der Auftrags-ID finden.
Sobald der Auftrag abgeschlossen ist, können Sie die Ergebnisse explizit herunterladen.
polyspace-jobs-manager download -job jobID -results-folder . -scheduler hostname
Hier ist
die Auftrags-ID aus der Übermittlung.jobID
Der Ordner für die Ergebnisse enthält die heruntergeladene Ergebnisdatei (mit der Erweiterung .psbf
). Öffnen Sie die Ergebnisse in der Benutzeroberfläche des Desktopprodukts Polyspace Bug Finder.