Developing a custom debug shell

Hi,

I'm developing a complex application (actually I'm just starting) and I will need to have a debug shell in order to invoke commands for debugging and logging. I mean a text shell where I can write some custom commands to invoke some functions (force/read values, ...) or dump logs.
This debug shell could be spawned from the original application, or it would be better if it can be launched as separated application (on the same machine).

Honestly I've never developed an IPC application (neither in other languages), so I don't know which kind of approach/architecture is better. Maybe there are already some crates existing that can help me, but I couldn't find them.

Could you please give me some hints about?

Thanks.

Might give you an idea how to do it.