Se le llama bug a errores en programacion o a algun comportamiento no previsto.
Asi que debuger es para resolver dichos comportamientos.
--------------------------
En el caso del pickit puedes ir revisando tu programa paso a paso , revisando los registros internos,etc...
Digamos que en tu programa dabas por hecho que un registro siempre tenia el valor 85,pero ohh sorpresa tu programa parece no funcionar
,entonces usas el debug y te sorprendes
que ese registro cambio de valor después de ejecutar una rutina y te diste cuenta que estabas sobrescribiendo el registro . Ohhh ya sabes porque no funciona como tu esperas, cambias de registro y todo funciona perfecto o modificaste tu rutina y ahora todo anda de perlas
.