2012-09-29 17 views

Respuesta

22

He resuelto este problema creando una secuencia de comandos que guarda y vuelve a cargar puntos de interrupción. Para su comodidad, incluso puede ponerlo en un acceso directo.

%# store breakpoints 
tmp = dbstatus; 
save('tmp.mat','tmp') 

%# clear all 
close all 
clear classes %# clears even more than clear all 
clc 

%# reload breakpoints 
load('tmp.mat') 
dbstop(tmp) 

%# clean up 
clear tmp 
delete('tmp.mat') 
+0

¡Gracias! Creo que entendí la mayor parte de la solución. ¿Qué hace la línea 'dbstop (tmp)'? –

+0

Tenía una pregunta más: ¿cómo ponerla en un atajo? –

+2

@ShashankSawant: 'dbstop (tmp)' establece los puntos de interrupción almacenados en la variable 'tmp'. Para ponerlo en un acceso directo, busque dónde dice "nuevo acceso directo" en su UI de Matlab, y copie y pegue la solución allí, o cree un script y escriba el nombre del script donde escribe el código para ejecutarlo en ejecución del atajo. – Jonas

8

clear all es un martillo pesado. Por ejemplo, también vuelca todo el código MATLAB analizado que ya está en la memoria. Un simple clear o one of the other options es generalmente una mejor opción y no borrará sus puntos de interrupción.

0

Tuve el mismo problema: después de ejecutar mi código, se eliminaron todos los puntos de interrupción. Finalmente encontré que podía restaurar sus últimos puntos de interrupción haciendo clic en "Establecer/borrar puntos de interrupción" (teclado F12).

Cuestiones relacionadas