Short Pause doesn't come back

5 visualizaciones (últimos 30 días)
Gavin
Gavin el 14 de Oct. de 2024
Respondida: Dirk Engel el 27 de En. de 2025
Using App Designer I was running my program with no breakpoints set.
Suddenly it stopped running in a place it shouldn't so I broke out to see what's going on and found this:
My understanding is that the open arrow signifies a place where the code has called a routine and not come back yet.
So what's wrong with this pause this time, after it ran fine 9 times in the last 10 seconds or so?
  6 comentarios
Gavin
Gavin el 24 de Oct. de 2024
After completely crashing a few times I restarted ML and now it's working fine. I didn't change my code but I noticed after recovery that some of my callbacks had been disconnected from their components. For whatever reason it's all working now.
Gavin
Gavin el 27 de En. de 2025
I'm still wondering what the hollow arrow means. Something higher on the stack of processes needing attention?

Iniciar sesión para comentar.

Respuestas (1)

Dirk Engel
Dirk Engel el 27 de En. de 2025
The white/hollow arrow indicates that the line is currently executing, but that the workspace is currently unloaded. Consider the following case where the debugger stopped at the break point. The workspace of function print() is currently loaded, but the workspaces of functions button_Callback() and createButton(), which are up the call stack, are currently unloaded.
So, you have access to the local variable "text", but not to the variables "obj", "s", "e". If you step up the callstack, e.g. using dbup, the workspace of button_Callback() gets loaded and the worspace of function print() gets unloaded.
Now you have access to the local variables "obj", "s" and "e", but not to "text".
Note that, as a side effect, the pause() function executes pending callbacks. There probably was a callback function executing down the call stack which was stuck for whatever reason. Assumingly, that function was a builtin function, in which case the debugger jumps to the first non-builtin function up the call stack instead. And since the workspace of another function down the call stack was loaded, you got the white arrow. Next time, take a look a the workspace editor. It may provide some clues.

Categorías

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

Etiquetas

Productos


Versión

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by