BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #12224同步于 2016/12/2
Matlab机器人发帖

c++ 调用 matlab函数产生Segmentation violation

lwj
2016/12/2镜像同步0 回复
首先环境是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
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。