Re: dsPIC33 the program crashes
I don't think you understood the issue, neither the guys at stackoverflow.
address 0x00 is the reset vector.
The debugger has halted at 0x00 because the debugger will halt on a reset by default. (you have to tell him NOT to halt on a device reset if you don't want it to)
As you see on the call stack the last function called was DefaultInterrupt.
Default interrupt is an ISR created automatically by the linker. Also, the linker will redirect all interrupts (and exceptions) that don't have an ISR written by you to the default interrupt.
The Default Interrupt is usually just a Reset instruction.
The default interrupt is also placed automatically, but you can tell the linker not to if you don't want to.
You problem is that your program caused an interrupt (or an exception) that was unhandled. To determine which, check the status of the various CORCON,INTTREG, INTCONx and IFSx/IECx registers.
Then solve the problem.