Why does Matlab not allow you to interupt a function mid execution?

3 visualizaciones (últimos 30 días)
This is more a question directed towards the mathworks staff.
Why does MATLAB not let you interupt execution to see the variable values/ variables in scope etc.
I am familiar with the pause.m function, however this needs to be called from the command line and can not be called from the GUI.
in MS Visual Studio you can pause from the IDE and then start again. This is an excellent feature of the IDE.
Are there any plans to include a button on the IDE to do this?

Respuestas (2)

Jason Ross
Jason Ross el 13 de Feb. de 2013
Editada: Jason Ross el 13 de Feb. de 2013
If you set a breakpoint in a function the debugger will stop there and you can inspect variables. You can also step in a variety of ways (step, step in, continue execution, etc).
The example provided in the blog post just seems to be encoding your own custom breakpoint mechanism that is available at runtime. It's not uncommon to use such constructs in a language to enable higher logging levels based on either a file (as in the example) or the setting of an environment variable. You can certainly do this in MATLAB jsut as you would any other programming language that can read the filesystem or check the value of environment variables. What you do when you hit that breakpoint is up to you -- continue execution, log a diagnostic message, output something to the screen, etc.
  4 comentarios
Jason Ross
Jason Ross el 13 de Feb. de 2013
Thanks for the clarification -- the example provided seemed to be more intrusive than just setting a breakpoint and also required planning on where to put the code in place.
Jason Ross
Jason Ross el 13 de Feb. de 2013
I see. I'd suggest you add in something that writes to a log that you can check to see how things are progressing without stopping execution.
(just to be clear -- although I am "MathWorks Staff", I'm writing this advice as "myself")

Iniciar sesión para comentar.


Sean de Wolski
Sean de Wolski el 13 de Feb. de 2013
Editada: Sean de Wolski el 13 de Feb. de 2013
You can use ctrl+c to stop some things but not all. See this solution:
  5 comentarios
Sean de Wolski
Sean de Wolski el 13 de Feb. de 2013
Logging code or a waitbar with useful percentages and messages.
Matlab2010
Matlab2010 el 13 de Feb. de 2013
I do use these features (eg. http://www.mathworks.co.uk/matlabcentral/fileexchange/28067-text-progress-bar which is excellent) and logging.
All of them dont even come close in my mind to the flexibility that the "pause" button the VS IDE gives.

Iniciar sesión para comentar.

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by