The hard fault and the reloacated code are two different things: if your code runs wild and executes instructions around address zero, then your debugger very likely shows what you see here: regardless from where you come, there is nothing useful to show around address zero with respect to source code.
You will have to set a breakpoint earlier in your code with the technique I described in that article (with the symbols loaded) and then debug until you get the hard fault.
What I recommend and this might not help in all cases of a hard fault is to install a custom hard fault handler, see https://mcuoneclipse.com/2012/11/24/debugging-hard-faults-on-arm-cortex-m/
I hope this helps,
Erich