5.2 How to debug and stopat internal procedures, such as dsolve?

f:=proc() 
eq:=x*diff(y(x),x)+y(x)=exp(2*x); 
dsolve(eq,y(x)); 
end proc;
 

Then used the command stopat(f); then called the procedure f(); and now the debugger comes up. Did step command and now it steps inside dsolve

Some examples

stopat(`ODEtools/symtest`); 
stopat(`ODEtools/test`); 
stopat(`ODEtools/normal/expanded`); 
stopat(`ODEtools/odepde`); 
stopat(`ODEtools/odeadv`);  #for DEtools:-odeadvisor 
stopat(`odsolve/dAlembert`); 
stopat(`odsolve/dAlembert/integrate`); 
stopat(`odsolve/answer`); 
stopat(`odsolve/homogeneous`); #for all A,C,D,G types 
stopat(`odsolve/homogeneous_C/integrate`); 
stopat(`odsolve/exact`); #for solving exact ODE 
stopat(`odsolve/exact/integrate`); 
stopat(`odsolve/exact/integrate`(f,y,x,M,N)); #where f here is RHS of y'=RHS; 
 
 
DEtools:-symtest([-3,y],ode,y(x)); 
 
`ODEtools/normal/expanded`
 

For exact ode, can also do

ode:=....# write your ode here 
Student:-ODEs:-Solve:-Exact(ode,y(x),output=steps);