2017-11-15 12 views
0

別のプロセスでPythonプログラムの2つのインスタンスを起動するC++プログラムがあります。私はPythonプログラムに問題があり、それによってロギング情報が表示されません。 Pythonプログラムのインスタンスは、StdinとStdout/Stderrを介してC++プログラムと通信します。可能であれば、Pythonデバッガ下でプログラムの1つのインスタンスを実行するには、C++プログラムが両方のPythonプログラムから無効な入力を受け取っていると不平を言いたいからです。 PythonプログラムはC++プログラムとの通信なしでは何もできませんので、Pythonプログラムを単独で実行することは役に立ちません。pydev別のプログラムによって起動されたPythonプログラム

StdinとStdoutはプロセス間通信に使用されるため、print()文は使用できませんが、Pythonロギングを使用する必要がありますが、ログファイルに到達する前にプログラムがクラッシュしているようです。最後の変更前にpythonプログラムが動作していたので、アーキテクチャは正常に機能しています。

提案がありますか?

答えて

0

Cから起動Pythonプログラムをデバッグするための私の提案++プログラムは、リモートデバッガ機能を使用することになります。

http://www.pydev.org/manual_adv_remote_debugger.html

(あなたがプログラム的に追加できるような方法は、どこに」Pythonコードにデバッガを起動それを起動するために特別なことをする必要はありません)。

+0

この問題は、Pythonコードが急速に実行され、接続を行う前に終了している可能性があります。特に、実行の初期段階で問題が発生した場合は、しかし、提案に感謝します。 – Jonathan

+0

さて、デバッガは手動ブレークポイントで停止するので、コードの速度に関係なく、その場所で停止する必要があります(時間がかかりすぎると強制終了しない限り)。 –

関連する問題