I use std::cerr << to print for debugging. You cannot break inside with cpp with ipdb but you can use gdb to debug python, make sure to build with debug symbols then you can break in the .so file.
It is a little too involved, so std::cerr is much easier.