I’m afraid this won’t be much help but a little insight perhaps.
Vector 700 means the CPU has encountered an illegal instruction.
If what you pasted above is not truncated, and the program counter (PC) was indeed 0x8, then somehow the CPU jumped to (most likely) code address zero.
How would that happen?
If you loaded a module that wasn’t fully and correctly linked (unresolved externals) then that code would very likely end up making a function call to address 0.
Of course, there are many other ways this can happen – including stack overflow or corruption.
And C++ makes this more interesting because it invites some devilishly clever ways to end up executing at an invalid address.