Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to debug underlying C++ library from Python interface?

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 apollocaffe. From python code, I used

python -m pdb train.py

But I can't go inside api from apollocaffe. I do like cout << "test" << endl; in apollocaffe. But nothing is printed to console. How can I debug c++ code, at least if I can print, it will be great.

like image 777
batuman Avatar asked Sep 12 '17 06:09

batuman


1 Answers

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.

like image 79
rkellerm Avatar answered Nov 11 '22 00:11

rkellerm