返回信息流首先环境是ubuntu10.04 matlab2012a我想要在c++中调用自己写的matlab函数,使用的方法是将.m文件编译成.so动态链接库,然后在c++中调用此函数。
根据我做的实验情况来看,如果matlab函数有输入参数列表,就会产生Segmentation violation错误,如果matlab函数没有输入参数列表,就可以正常调用执行,所以错误就应该出现在mwArray作为matlab函数输入参数这一块。求问这种情况怎么解决呢?希望知道的大神能帮忙解答下~谢谢~
错误信息如下:
Abnormal termination:
Segmentation violation
Register State (from fault):
EAX = 00000000 EBX = 042047f4
ECX = 00000000 EDX = 00000000
ESP = bfc0c240 EBP = bfc0c338
ESI = 0a322e18 EDI = 0a3cdab8
EIP = 0411c0ce EFL = 00210286
CS = 00000073 DS = 0000007b SS = 0000007b
ES = ffff007b FS = c0100000 GS = 00000033
Stack Trace (from fault):
[ 0] 0x00a2c411 /mnt/extenddir/software/matlab/bin/glnx86/libmwfl.so+00300049 _ZN2fl4diag15stacktrace_base7captureERKNS0_14thread_contextEj+000169
[ 1] 0x00a2eb36 /mnt/extenddir/software/matlab/bin/glnx86/libmwfl.so+00310070
[ 2] 0x00a2efcf /mnt/extenddir/software/matlab/bin/glnx86/libmwfl.so+00311247 _ZN2fl4diag13terminate_logEPKcRKNS0_14thread_contextE+000190
[ 3] 0x00932a71 /mnt/extenddir/software/matlab/bin/glnx86/libmwmcr.so+01096305 _ZN2fl4diag13terminate_logEPKcPK8ucontext+000076
[ 4] 0x0092f5f6 /mnt/extenddir/software/matlab/bin/glnx86/libmwmcr.so+01082870
[ 5] 0x00931226 /mnt/extenddir/software/matlab/bin/glnx86/libmwmcr.so+01090086
[ 6] 0x009319da /mnt/extenddir/software/matlab/bin/glnx86/libmwmcr.so+01092058
[ 7] 0x009e2410 __kernel_rt_sigreturn+000000
[ 8] 0x0411c0ce /mnt/extenddir/software/matlabcmr/v717/bin/glnx86/libmwmclmcr.so+00987342 mclcppFeval+000529
[ 9] 0x003b8733 /mnt/extenddir/software/matlabcmr/v717/runtime/glnx86/libmwmclmcrrt.so.7.17+00067379 mclcppFeval_proxy+000063
[ 10] 0x008242b5 libtest.so+00008885 _Z14mclcppMlfFevalPvPKciiiz+001237
[ 11] 0x008238da libtest.so+00006362 _Z4testiR7mwArrayRKS_+000079
[ 12] 0x0804941f ./testc+00005151
[ 13] 0x00126bf6 /lib/tls/i686/cmov/libc.so.6+00093174 __libc_start_main+000230
[ 14] 0x08049161 ./testc+00004449
------------------------------------------------------------------------
Segmentation violation detected at Fri Dec 2 17:46:54 2016
------------------------------------------------------------------------
Configuration:
Crash Decoding : Disabled
Current Visual : 0x21 (class 4, depth 24)
Default Encoding: UTF-8
GNU C Library : 2.11.1 stable
MATLAB Root : /mnt/extenddir/software/matlab
MATLAB Version : 7.14.0.739 (R2012a)
Operating System: Linux 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686
Processor ID : x86 Family 6 Model 58 Stepping 9, GenuineIntel
Virtual Machine : Java 1.6.0_17-b04 with Sun Microsystems Inc. Java HotSpot(TM) Server VM mixed mode
Window System : The X.Org Foundation (10706000), display :0.0
Fault Count: 1
Abnormal termination:
Segmentation violation
Register State (from fault):
EAX = 00000000 EBX = 042047f4
ECX = 00000000 EDX = 00000000
ESP = bfc0c240 EBP = bfc0c338
ESI = 0a322e18 EDI = 0a3cdab8
EIP = 0411c0ce EFL = 00210286
CS = 00000073 DS = 0000007b SS = 0000007b
ES = ffff007b FS = c0100000 GS = 00000033
Stack Trace (from fault):
[ 0] 0x00a2c411 /mnt/extenddir/software/matlab/bin/glnx86/libmwfl.so+00300049 _ZN2fl4diag15stacktrace_base7captureERKNS0_14thread_contextEj+000169
[ 1] 0x00a2eb36 /mnt/extenddir/software/matlab/bin/glnx86/libmwfl.so+00310070
[ 2] 0x00a2efcf /mnt/extenddir/software/matlab/bin/glnx86/libmwfl.so+00311247 _ZN2fl4diag13terminate_logEPKcRKNS0_14thread_contextE+000190
[ 3] 0x00932a71 /mnt/extenddir/software/matlab/bin/glnx86/libmwmcr.so+01096305 _ZN2fl4diag13terminate_logEPKcPK8ucontext+000076
[ 4] 0x0092f5f6 /mnt/extenddir/software/matlab/bin/glnx86/libmwmcr.so+01082870
[ 5] 0x00931226 /mnt/extenddir/software/matlab/bin/glnx86/libmwmcr.so+01090086
[ 6] 0x009319da /mnt/extenddir/software/matlab/bin/glnx86/libmwmcr.so+01092058
[ 7] 0x009e2410 __kernel_rt_sigreturn+000000
[ 8] 0x0411c0ce /mnt/extenddir/software/matlabcmr/v717/bin/glnx86/libmwmclmcr.so+00987342 mclcppFeval+000529
[ 9] 0x003b8733 /mnt/extenddir/software/matlabcmr/v717/runtime/glnx86/libmwmclmcrrt.so.7.17+00067379 mclcppFeval_proxy+000063
[ 10] 0x008242b5 libtest.so+00008885 _Z14mclcppMlfFevalPvPKciiiz+001237
[ 11] 0x008238da libtest.so+00006362 _Z4testiR7mwArrayRKS_+000079
[ 12] 0x0804941f ./testc+00005151
[ 13] 0x00126bf6 /lib/tls/i686/cmov/libc.so.6+00093174 __libc_start_main+000230
[ 14] 0x08049161 ./testc+00004449
If this problem is reproducible, please submit a Service Request via:
http://www.mathworks.com/support/contact_us/
A technical support engineer might contact you with further information.
Thank you for your help.** This crash report has been saved to disk as /root/matlab_crash_dump.13495-1 **
MATLAB is exiting because of fatal error
Killed
这是一条镜像帖。来源:北邮人论坛 / matlab / #12224同步于 2016/12/2
Matlab机器人发帖
c++ 调用 matlab函数产生Segmentation violation
lwj
2016/12/2镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。