解决 Polyspace 连接器问题
问题
您运行了 Polyspace® 命令,该命令运行失败并且错误消息大致如下:
polyspace:pscore:noPortForConnectorError
可能的解决方案
Polyspace 使用内部服务器(Polyspace 连接器)处理不同 Polyspace 组件之间的通信。当您启动 Polyspace 时,该连接器的实例在系统分配的随机端口上启动。
要检查该连接器能否连接到已打开端口并且可访问,请执行以下操作:
关闭所有 Polyspace 进程。
导航到
并运行polyspaceroot/polyspace/bin/ARCHpolyspace-connector二进制文件,在命令行中手动启动 Polyspace。例如,在 Linux® 上键入以下命令:其中,cd polyspaceroot/polyspace/bin/ARCH ./polyspace-connector
polyspaceroot是 Polyspace 的安装文件夹,例如/usr/local/Polyspace,ARCH是平台特定子文件夹,例如在 Linux 的情况下是glnxa64。连接器启动后,您会看到大致如下的消息:
其中Started ServerConnector@123a456b{HTTP/1.1, (http/1.1)}{0.0.0.0:portNum}portNum对应于启动连接器的端口,例如 9991。运行以下命令以检查该端口是否处于打开状态。
(echo >/dev/tcp/localhost/portNum) &>/dev/null && echo "open" || echo "closed"
如果
(echo > ...)命令返回closed,请检查该端口未打开的可能原因。例如,防火墙配置为不允许portNum端口上的流量,或者在不该设置的情况下设置了系统变量http_proxy或HTTP_PROXY。如果
(echo > ...)命令返回open,请运行以下命令以检查连接器是否可访问:如果连接器可访问,该命令会返回包含curl http://127.0.0.1:portNum/metadata
{"statusCode":"SUCCESS"的 JSON 输出。如果您可以访问连接器,请尝试重新运行之前失败的 Polyspace 命令。
如果属于以下任一情况,请为连接器启用调试模式,重新运行之前失败的 Polyspace 命令,然后创建 MathWorks® 服务请求。
运行
curl命令时连接器不可访问。连接器可访问但命令仍运行失败。
.
要启用调试模式,请执行以下操作:
打开文本编辑器,创建名为
connector.properties的文件,并在该文件中保存以下代码行:application.debug=true
将该文件复制到您的 Polyspace 预设项文件夹,例如:
Windows® -
%Appdata%\MathWorks\MATLAB\R2026a\PolyspaceLinux -
~/.matlab/R2026a/Polyspace
重新运行之前失败的 Polyspace 命令。运行命令后,连接器会在 Polyspace 预设项文件夹中创建一个名为
dmp_的转储文件
重新运行 Polyspace 命令后,连接器会在 Polyspace 预设项文件夹中创建一个名为 dmp_$number@$hostname.txt 的转储文件,例如 dmp_12345@workstation.example.txt。将此文件附加到您的服务请求中。
预设项文件夹可能包含多个转储文件,请确保选择最新创建的转储文件。