2013-04-22 10 views
6

私は、数値のクランチのために、コンパイル済みのCythonとFortran拡張(最新のFortranのiso_c_bindingモジュールとCythonを使用してラップされています)コンパイルされたエクステンションを持つPythonのデバッグ

これまでのところ、便利なデバッグ戦略はありません。私はpudbをPythonの部分に使用します。プロジェクトのCython & Fortranの部分でgdbを使用できるかもしれませんが、代わりにコンソールテキスト出力(print()!)を使用しています。

異なるレベルのコードをデバッグ用にトランスペアレントにするツールがあるかどうかを知りたいと思っています。つまり、「1つのツールをデバッグするだけでよいのですか? Python、Cython、またはFortranコードを実行します。

私は前述のpudbのようなユーザーフレンドリーなやりとりを可能にするツールを好むでしょう。そのようなデバッグツールのすべてのジャックは存在しますか? Python mode of GDBは私が得られる最高のものですか?

+1

見る無料PTVS +試用インテルFortranの+混合モードデバッグを試すことができますあなたが何を記述しているのか。私は運もないより良い解決策を探し回った。 – thebigdog

答えて

5

gdbを拡張するCython debuggerを使用して、cyで始まる新しいコマンドを使用できます。これにより、Cythonコードを実行したり、ブレークポイントを設定したり、地元の人物を調べたりすることができます。そして、GTFのPythonモードからのpyコマンドのように、Pythonフレームになることがあります。残念なことにFortranのサポートはありません。

+0

これは始めるのに良いアドバイスです! 'cygdb 'で動作するグラフィカルなフロントエンドはありますか?私は何も見つけることができませんでした。また、ビルドディレクトリに 'cygdb'を実行するのは奇妙です。 – AlexE

+1

'ddd --pydb --debugger cygdb'または' ddd --gdb --debugger cygdb'を試して 'cygdb'を実行し、' gdb'または 'pydb'のふりをする' ddd'を得ることができます。どのくらいの機能が得られるかはわかりません。 – r3m0t

+0

私は 'ddd'に精通していませんが、少なくとも基本的なことは明らかに機能しています(私がシステムの機能に踏み込んでいない限り)。私は変数をクリックすることで同じ視覚化を得るので、コマンドラインに付加価値があります。 使用しているFortranルーチンがデバッグシンボルでコンパイルされている限り、Fortranコードにステップインすることも可能です。 だから、私は 'ddd'に慣れる必要があります。ありがとうございました! – AlexE

1

あなたは

は、私はあなたのためのソリューションを持っていないが、私は正確にするためにGDBを使用しても

申し訳

http://pytools.codeplex.com/wikipage?title=Mixed-mode%20debugging http://pytools.codeplex.com/workitem/1974

+0

ヒントをありがとう。残念なことに、私はVisual Studioにアクセスすることも、ifortにアクセスすることもできません。 – AlexE

+0

Visual Studio Express + PVTSを無料で入手することができます – denfromufa

+0

Linux用ではありません;) – AlexE

関連する問題