2017-09-12 4 views
2

私はapollocaffeReinspectを使用しています。 ApollocaffeはC++ライブラリにあり、ReinspectはPythonで書かれています。アポロカフェからapisと呼ばれるReinspect。 私はapollocaffeの中でそれらのapiをデバッグするのが好きです。 Pythonコードからは、私はPythonインターフェイスから基礎となるC++ライブラリをデバッグする方法は?

python -m pdb train.py 

を使用しかし、私はapollocaffeからAPIの内側に行くことはできません。 私はcout << "test" << endl; in apollocaffeが好きです。しかし、何もコンソールには印刷されません。少なくとも私が印刷することができれば、C++コードをデバッグする方法は素晴らしいでしょう。

答えて

4

あなただけのC++の一部をデバッグに興味を持っている場合は、あなただけのPythonでGDBを起動することができます - もちろん

gdb python 
b <C++ function to break at> 
run train.py 

を使用すると、デバッグ情報付きでカフェをコンパイルする必要がありますのcmakeのオプションに-DDEBUG = 1を渡しますMakefile.configのDEBUG = 1行のコメントを外します。
gdbのPythonとC++の両方のデバッグは、もっと複雑な場合があります。例えば、thisを参照してください。

+0

ありがとうございました。私はC++から印刷できますか? – batuman

+0

標準のcout/printfを試しましたか?これらはうまくいくはずです。 – rkellerm

+0

使用しているC++ライブラリにデバッグフラグが含まれていますか? –

関連する問題