标签:
杂谈 |
系统环境:
matlab r2013a 64位、Windows 7旗舰版64位
问题描述:
一直以来正常使用的matlab,突然每次运行时,matlab刚打开就自动关闭退出,没有任何消息提示。
百度、Google上搜索到的解决方法并不符合我这出现的情况。
诊断过程:
通过在命令提示符中,使用命令matlab
又试了几个参数组合,发现用-nojvm参数时就可以运行而不会退出,据此怀疑是jvm问题。
后来用matlab -h命令看了下还有哪些参数可用,发现有-logfile log一项,其作用是把matlab的command window中的输出都保存一份副本到指定的文件中,最重要的是所有的crash报告也会包括在内,可以从这里来得到有关matlab自动关闭时的信息。
于是使用matlab -logfile "logs.log"来启动matlab,matlab启动后自动退出了,但是crash信息成功保存到了logs.log中,内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
------------------------------------------------------------------------ Fatal
Java Exception detected at Thu Aug 29
17: 52: 49
2013 ------------------------------------------------------------------------ Please follow these
steps in reporting this problem to MathWorks so that we have the best
chance of correcting it: 1 .
Send us this crash report. has
been recorded in:
C:\Users\RIN~ 1 \AppData\Local\Temp\java.log. 2220 2 .
Provide a brief description of what you were doing when
this problem
occurred. 3 .
If possible, include MATLAB-files, MEX-files, or MDL-files that
aid in
reproducing it. 4 .
E-mail or FAX this information to us at: E-mail: FAX:
508 -647 -7201 Thank you for your
assistance. |
接着查看了java.log.2220文件,确定问题实质为jvm启动时的环境问题。matlab自身带了jvm,而本机安装jdk时也带了一个jvm,根据本机设置可能会导致matlab的选择产生混乱。可以通过设置环境变量来让matlab确切知道要使用的jvm路径。
解决方法:
建设一个新的环境变量,命名为MATLAB_JAVA,值为你所要使用的jvm路径,这里我所设置的为C:\Program Files\Java\jre7。
保存上述环境变量后,重新启动matlab,发现一切恢复正常。
总结:
在网上搜索问题的解决方法,所看到的并不一定符合自己的实际情况。而且有些问题自己不能确定大概原因的话,也就无从知道该用什么样的关键字搜索才合适。关键还得自己掌握对问题的剖析方法,一步步分析排除,找到它产生的根源。