For me using the nRFConnect smartphone app is very useful in the debug process.
My experience so far is when the public address of the HCI controller is set as 00:00:00:00:00:00 the client (central) application will detect the peripheral BT device as ANOMYNOUS, and connecting to it via the nRFConnect makes the client applic crashing.
I suggest you set the public address of the HCI controller via the cmd hcitool cmd 0x3f 0x006 0x0 0x0 0x1 0x2 0x21 0xAD (you are of course free to chose a different BD address). Make sure the btattach process is running correctly (e.g. btattach -B /dev/tttyACM0 -S 1000000 -P h4) before setting the address.
Stop the btattach process and restart it. When the cmd is succesfully executed the cmd hcitool dev or hciconfig -a should display the address that was set.