Restoring MATLAB Command Prompt after a mex file crashes.

4 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Jan
Jan il 28 Gen 2011
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...

Più risposte (1)

Walter Roberson
Walter Roberson il 27 Gen 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 Commenti
Aaron  Wetzler
Aaron Wetzler il 1 Feb 2011
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?
Jan
Jan il 1 Feb 2011
Move this important question into a new question (!) instead of an comment of an answer.

Accedi per commentare.

Categorie

Scopri di più su MATLAB Compiler in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by