0

これは長い間議論されてきたトピックであり、同様の質問への回答がここにもあることは知っていますが、残念ながら、Web サーフィンを読んだ解決策は私にとってはうまくいきません。

問題を説明する最善の方法は、コンソールのログを Eclipse 内に投稿することだと思います。

pydev debugger: starting
('Executing file ', 'D:\\workspace\\vimsgeomanager\\src\\videosorveglianza\\manage.py')
('arguments:', "['D:\\\\workspace\\\\vimsgeomanager\\\\src\\\\videosorveglianza\\\\manage.py', 'runserver', '--noreload']")
('Connecting to ', '127.0.0.1', ':', '63320')
('Connected.',)
('received command ', '501\t1\t1.1')
sending cmd: CMD_VERSION 501    1   1.1

sending cmd: CMD_THREAD_CREATE 103  2   <xml><thread name="pydevd.reader" id="-1"/></xml>

sending cmd: CMD_THREAD_CREATE 103  4   <xml><thread name="pydevd.writer" id="-1"/></xml>

('received command ', '111\t3\tD:\\workspace\\vimsgeomanager\\src\\videosorveglianza\\Contrib\\VimsNVRX\\drivers\\NVRX_Manager.py\t32\t**FUNC**connect\tNone')
Added breakpoint:d:\workspace\vimsgeomanager\src\videosorveglianza\contrib\vimsnvrx\drivers\nvrx_manager.py - line:32 - func_name:connect
('received command ', '111\t5\tD:\\workspace\\vimsgeomanager\\src\\videosorveglianza\\Contrib\\VimsNVRX\\drivers\\NVRX_Manager.py\t35\t**FUNC**connect\tNone')
Added breakpoint:d:\workspace\vimsgeomanager\src\videosorveglianza\contrib\vimsnvrx\drivers\nvrx_manager.py - line:35 - func_name:connect
('received command ', '111\t7\tD:\\workspace\\vimsgeomanager\\src\\videosorveglianza\\Contrib\\VimsNVRX\\drivers\\NVRX.py\t467\t**FUNC**getStreamCaps\tNone')
Added breakpoint:d:\workspace\vimsgeomanager\src\videosorveglianza\contrib\vimsnvrx\drivers\nvrx.py - line:467 - func_name:getStreamCaps
('received command ', '122\t9\t;;')
Exceptions to hook : []
('received command ', '124\t11\t')
('received command ', '101\t13\t')
ContribUtils.appendConf: considero la cartella D:\workspace\vimsgeomanager\src\videosorveglianza\conf\contrib
MODALITA' SINGOLO SERVER
SETTINGS DI DEBUG: trovato specialconf
ContribUtils.appendConf: considero la cartella D:\workspace\vimsgeomanager\src\videosorveglianza\conf\contrib
MODALITA' SINGOLO SERVER
SETTINGS DI DEBUG: trovato specialconf
Validating models...
0 errors found

Django version 1.2, using settings 'videosorveglianza.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
sending cmd: CMD_THREAD_CREATE 103  6   <xml><thread name="MainThread" id="pid4420_seq4" /></xml>

('received command ', '112\t15\tD:\\workspace\\vimsgeomanager\\src\\videosorveglianza\\Contrib\\VimsNVRX\\drivers\\NVRX_Manager.py\t35')
Removed breakpoint:d:\workspace\vimsgeomanager\src\videosorveglianza\contrib\vimsnvrx\drivers\nvrx_manager.py
('received command ', '111\t17\tD:\\workspace\\vimsgeomanager\\src\\videosorveglianza\\Contrib\\VimsNVRX\\drivers\\NVRX_Manager.py\t35\t**FUNC**connect\tNone')
Added breakpoint:d:\workspace\vimsgeomanager\src\videosorveglianza\contrib\vimsnvrx\drivers\nvrx_manager.py - line:35 - func_name:connect

サーバーはすべてのリクエストで正しく応答しています。唯一のことは、ブレークポイントでブロックされていないことです。より正確に言うと、manage.py に追加されたブレークポイントでのみ機能します。

誤解を避けるために、私のマシンにはサーバーのコードがあり、これは Eclipse プロジェクトであるため、PyDev が提供するリモート デバッガー ツールを使用したくありません。単純にブレークポイントを配置して、コードの実行を停止したいと思います。

私はすでにPyDevの定数を変更しようとしました

DEBUG_TRACE_LEVEL
DEBUG_TRACE_BREAKPOINTS

提供されたすべてのヒントに感謝します!

4

1 に答える 1

1

あなたの報告からは何も間違っていないと思います。

すべてが機能しているように見えてもデバッガーが機能しなくなった場合の 1 つのことは、コードに無限再帰がある場合 (そしてそれをどこかで処理する場合)、Python にはトレースが自動的に無効になる (したがってデバッガーが削除される) 問題があることです。 Pythonのバグが原因でトレースが停止するという問題が発生した場合に、さらに2、3回発生するのを見てきました。

このような質問については、 https://stackoverflow.com/a/9502960/110451を参照して、これがあなたのケースであるかどうかを確認してください。特に、トレース関数 (trace_func) が定義され、sys.settrace で設定されている部分トレースはある時点で停止します。

于 2013-11-11T17:06:28.953 に答える