MATLAB Answers

3

Restoring MATLAB Command Prompt after a mex file crashes.

Asked by Aaron Wetzler on 27 Jan 2011
Latest activity Commented on by Alec Jacobson on 20 Aug 2015
Accepted Answer by Jan
Can't seem to find an answer to this one. I am writing a mex file and testing it in the command window. Sometimes I have bugs that cause the program to crash and the MATLAB command window then tells me I have to restart MATLAB but that seems silly because nothing in MATLAB actually stops working. so what bothers me about this is that I can't restore the command prompt to
>>
It just stays at
[Please exit and restart MATLAB]>>
Anyone know how to avoid this or stop MATLAB from crashing together with my program?

  0 Comments

Sign in to comment.

Products

2 Answers

Answer by Jan
on 28 Jan 2011
 Accepted Answer

Yair Altman's setPrompt can change the prompt:
But I'd strongly suggest to follow Matlab's estimation that a restart of Matlab is necessary. The effects of a confused memory management are impossible to predict and can destroy data: "delete(gcf)" can delete a file, if the reply of "gcf" is mapped to a string instead of a figure handle...

  1 Comment

This unfortunately just replaces all of the characters with spaces.

Sign in to comment.


Answer by Walter Roberson
on 27 Jan 2011

My speculation is that you are messing up one of Matlab's internal data structures and it is detecting that. It might look like Matlab is still working fine, but Matlab knows that it is sick.
mex is not a "sandbox": things you do in mex can mess up Matlab badly.
I gather that if you are going to work with mex, this is something you just have to get accustomed to until you are more proficient.

  2 Comments

The point about matlab not being a sandbox is a good one. Which leads me to another question: How does one correctly and efficiently go about writing, compiling and testing mex files in matlab?
Move this important question into a new question (!) instead of an comment of an answer.

Sign in to comment.