I am using apollocaffe and Reinspect. Apollocaffe is in c++ library and Reinspect is in python. Reinspect called apis from apollocaffe. I like to debug those apis inside apolloc
If you are interested to debug just the C++ part, you can just start GDB with Python -
gdb python
b <C++ function to break at>
run train.py
Of course you need to compile Caffe with debug information: pass -DDEBUG=1 to cmake options of uncomment the DEBUG = 1
line in your Makefile.config.
Debugging both Python and C++ from gdb might be more complicated, see this for example.