2017-04-09 11 views
0

pydev debuggerはのとpycharmで使用されるpythonデバッガです。それはpdbよりずっと強力です。そのコードは利用可能です(https://github.com/fabioz/PyDev.Debugger)、pip経由でインストールするのは簡単です。パッケージ名はpydevdです。pydevデバッガをPythonモジュールとして使用

しかし、Pythonコード(pydevまたはpycharm IDEの外)で使用する方法に関する情報はありません。ドキュメントは完全に欠けています。

誰でも使い方を知っていますか?私はそのような何かをしたいと思います:

import pydevd 

pdd = pydevd.debug("python myscript.py") 

pdd.set_break_point(file="myscript.py", lineno=12) 
pdd.start() 
pdd.read_variable("a") 
pdd.continue() 

答えて

1

はよく、私はドキュメントが欠けていることに同意するが、アイデアは、あなたがいないプログラムで、IDE内からそれを使うだろうと、ほとんどです。

プログラマチックに使用するパブリックAPIはpydevd.settrace()です。これは、プログラムによって配置された場所にブレークポイントを設定するAPIです(つまり、デバッガはその行で停止します。つまり、pdb.set_trace()と同じ効果)。それはまだ接続されていない場合は、同じAPIも(すなわち:http://www.pydev.org/manual_adv_remote_debugger.html - コード:https://github.com/fabioz/PyDev.Debugger/blob/a4a58179dab9f9fb93559066f0ef22ac59c59e04/pydevd.py#L1065)リモートデバッグのためのフロントエンドに接続する今

、現在唯一のフロントエンドは、PyDevはとPyCharmあり、あなたにコマンドを与える何フロントエンドはありません。デバッガのバックエンドのスレッドにソケットを介して接続することで通信全体が行われます(実際のドキュメントはありませんが、コードはソケットが受け入れるものを読みやすくする必要があります。プロトコルはかなり簡単です:https://github.com/fabioz/PyDev.Debugger/blob/a4a58179dab9f9fb93559066f0ef22ac59c59e04/_pydevd_bundle/pydevd_process_net_command.py)。

これを実行する純粋なPythonコードのユニットテストがあります(つまり、デバッガに接続し、ソケットを通してコマンドを発行します - https://github.com/fabioz/PyDev.Debugger/blob/a4a58179dab9f9fb93559066f0ef22ac59c59e04/tests_python/debugger_unittest.py)ので、実際にコマンドラインで実行するのは難しくありません。誰もがPyDev.Debuggerにコマンドラインフロントエンドを提供したいのであれば、それは歓迎します)

+0

最後のファイルありがとう非常に便利です。このライブラリを維持してくれてありがとう。とても印象的です。 – Oli

関連する問題