我使用 Pnet TCP / UDP工具箱)与 psysctoolbox 在不同机器中的Matlab实例之间进行通信。我的一台机器是32位Win7运行Matlab 2010B。另一个是64位Win 7运行Matlab 2012A。我在将数据从一台计算机传送到另一台计算机时存在问题。

实验1 :从64位计算机运行UDP_SEND_DEMO,同时从32位计算机运行UDP_PLOTTER_DEMO。 预期结果:32位计算机绘制数据,等待键盘输入。如果KB输入,请关闭数字和终端演示。 64位完成发送和停止演示。 实际结果:64位表现为应。 32位计算机图,但挂起并拒绝关闭演示。它没有响应任何键盘输入,并且必须断开。

实验2 :以上面的实验运行,反向32位发送和64位读数。 预期结果:64位图,等待键盘输入。如果找到了KB输入,请停止演示。 实际结果 64位MATLAB崩溃判断MEX文件中的分段违规。它显示堆栈跟踪(我在最后附加一部分)。

与端口号一起玩,没有区别。重新编译'pnet.c.'源文件而不是使用预编译的mex没有区别。 问题:有人尝试过这样的东西吗?你有没有工作?你可以建议尝试采取这项工作的事情,而无需在我的Win64计算机中安装32位Matlab?

============

代码:

服务器端:

udp_send_demo('sin(0:0.1:6)',clientIPStr,portToListen)
.

客户端:

udp_plotter_demo(portToListen)
.

=============

堆栈跟踪


在2012年9月29日星期六检测到分割违规行为

配置:

崩溃解码:禁用

默认编码:Windows-1252

matlab root:c:\ program files \ matlab \ r2012a

Matlab版本:7.14.0.739(R2012A)

操作系统:Microsoft Windows 7

处理器ID:X86系列6型号58踏步9,正版inteintel

虚拟机:Java 1.6.0_17-B04带Sun Microsystems Inc. Java Hotspot(TM)64位服务器VM混合模式

窗口系统:6.1版(Build 7601:Service Pack 1)

故障计数:1

异常终止: 分割违规

寄存器状态(来自故障): Rax= 0000000000000000 rbx= 000000000000000000

rcx= 000000005d0df7d7 rdx= 000000000000000001

RSP= 00000000040671B0 RBP= 0000000004067289

RSI= 000000000000003D rdi= 000000000000003d

r8= 000000005d0df7d6 r9= 000050490EE40167

r10= 00000000000000000000

R12= 000000000000000008 R13= 000007FEFB997678

r14= 000000000000000002 r15= 000000000000000002

RIP= 000007FEFB99238A EFL= 00010202

cs= 0033 fs= 0053 gs= 002b

堆栈跟踪(来自故障):

[0] 0x000007FEFB99238A C:\ Users \ Ephys-Data \ Desktop \ Temp \ TCP_UDP_IP \ Pnet.mexw64 + 00009098(Perror + 004298)

[1] 0x000007FEFB99389B C:\ Users \ Ephys-Data \ Desktop \ Temp \ TCP_UDP_IP \ Pnet.mexw64 + 00014491(MEXFunction + 001979)

[2] 0x000000000074f10f63 c:\ program files \ matlab \ r2012a \ bin \ win64 \ libmex.dll + 00069475(mexrunmexfile + 000131)

[3] 0x000000000074f0fce2 c:\ program files \ matlab \ r2012a \ bin \ win64 \ libmex.dll + 00064738(inswapmexfilereader + 000226)

[4] 0x000000000074f0fe58 c:\ program files \ matlab \ r2012a \ bin \ win64 \ libmex.dll + 00065112(inswapmexfilereader + 000600)

[5] 0x0000000074E4B046 C:\ Program Files \ Matlab \ R2012A \ Bin \ Win64 \ M_Dispatcher.dll + 00045126(mfh_file :: dispatch_fh + 000486)

....更多的东西....

在MEX文件运行时检测到此错误。如果MEX文件不是官方MATHWORKS函数,请检查其源代码以获取错误。有关调试MEX文件的信息,请参阅外部接口指南。

如果此问题是可重复的,请通过以下方式提交服务请求:....

技术支持工程师可以通过更多信息与您联系。

谢谢你的帮助。


感谢

-b

有帮助吗?

解决方案

我在Psychtoolbox中写了有用的人。显然,在Pscentoolbox的“beta”版本中,错误被抓住并解决了。如果您拥有最新和最棒的乐曲池,请运行updatepsychtoolbox睡个好觉。查看这里

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top