Cuestiono la estabilidad de tu versión de lanzamiento si no puedes depurarlo en absoluto.
La creación para la depuración agrega algo de carne adicional a su archivo HEX, lo que significa que las cosas no siempre están en la misma memoria RAM y las ubicaciones flash que están en una compilación de producción. Esto (para mí) a veces ha mostrado algunos errores de software que no vi en el modo de producción (por ejemplo, creo que encontré un error en la biblioteca de cadenas XC16 donde sscanf está lanzando errores de dirección cuando se trata de caracteres, que solo se muestran después de que comencé a depurar y un char se movió a una ubicación RAM diferente)
Si está depurando y tiene WDT habilitado, desactívelo: el WDT no funciona bien con el tiempo de congelación del depurador al detener el micro.
Antes de agregar puntos de interrupción y otras cosas, simplemente ejecute el programa tal como está en el modo de depuración; no hay pasos simples, simplemente ejecute. El código debería simplemente 'funcionar'.
Para obtener ayuda detallada, deberá publicar un ejemplo de código mínimo que funcione bien en el modo de producción, pero que cuelgue al depurar. (Este ejercicio puede mostrarle un código con errores que no sabía que tenía).