2017-03-07 17 views
2

私はDjango Rest Framework 3.5.4とPycharm Professional 2016.3.1を使用しています。ちなみに、PyCharmは、ローカルの迷惑メールボックス内でvirtualenvを使うように設定されています。PyCharmデバッガラインが現実と同期していない

私は上のデバッガでDRFコードをステップ実行すると、私はそれは空白行をステップ実行していることを見ることができ、および範囲のものと一致していないデバッガで変数(ここで描かれるがrest_framework.response.Response.rendered_content()です):

ここで breakpoint on blank line

は、デバッガ内のスコープ内の変数が渡された単一の変数と一致しない方法を示して別の例です。また、ブレークポイントは、ドキュメンテーション文字列の上に明確にどのように注意してください。

enter image description here

これはPyCharmでこれを初めて見たわけではありません。ライブラリソースを表示している間は通常動作しますが、ソースキャッシュと実行されているものとの間に不一致があることがあります。

私の質問は次のとおりです。この動作を修正するにはどうすればよいですか?私はvirtualenvを吹き飛ばしてから再構築し、PyCharmと再関連付けしようとしました。私もFile > Invalidate Caches/Restartを試してみましたが、この特定のケースではどちらも役に立ちませんでした。

EDIT:

私は〜/ライブラリ/キャッシュ/ PyCharmXX/remote_sources/*ファイル、再無効キャッシュ、PyCharmを再起動し、再関連付け、リモートのすべてを削除することによってこの問題を解決したと思いましたプロジェクトの通訳。次に同じファイルをデバッグしようとすると、ソースを選択する画面が表示されました。私は自動検出をクリックし、2つのバージョンが使用可能であったことに気づい:

select local file for the file from remote host

私が使用可能だった2間の差分をした、と差はなかったです。また、バイト数と修正時刻は、各ファイルで同じであった:

pnore at pnore-mbp in ~/Library/Caches 
$ ls -l PyCharm2016.3/remote_sources/974253138/308149114/rest_framework/serializers.py 
-rw-r--r-- 1 pnore HBS\Domain Users 60495 Mar 7 16:56 PyCharm2016.3/remote_sources/974253138/308149114/rest_framework/serializers.py 

pnore at pnore-mbp in ~/Library/Caches 
$ ls -l PyCharm2016.3/remote_sources/974253138/-328085538/rest_framework/serializers.py 
-rw-r--r-- 1 pnore HBS\Domain Users 60495 Mar 7 16:56 PyCharm2016.3/remote_sources/974253138/-328085538/rest_framework/serializers.py 

pnore at pnore-mbp in ~/Library/Caches 
$ diff PyCharm2016.3/remote_sources/974253138/308149114/rest_framework/serializers.py PyCharm2016.3/remote_sources/974253138/-328085538/rest_framework/serializers.py 
[no output] 

私は、任意に後者を選んだ、その後、デバッグ行番号は、そのファイルの一致するように見えました。問題は、以前のバージョンのPyCharmがそのパスファイルをキャッシュされた古いバージョンのライブラリに関連付けていたことだと思います。キャッシュを無効にしても問題が解決されなかった理由はわかりません。

残念ながら、この関連付けは、デバッグセッションを介してPyCharmに残っていません。つまり、デバッグセッションごとにすべてのファイルを再関連付けする必要があります。何かが明らかに間違っている。

答えて

0

同じパスで2つのファイルがあり、デバッガが間違ったファイルを使用していましたが、私の場合はファイルがわずかに異なります。

  1. 終了PyCharmを:

    修正はPyCharm 2017年2月3日にWindows上で以下の通りでした。

  2. PyCharmの以前のバージョンから残ったフォルダを削除します。私の場合、.PyCharm2017.2.PyCharm2017.1の両方のフォルダがありました。
  3. PyCharmを再起動します。
  4. 再度デバッグし、正しいソースを選択するように求められたら、自動検出を選択します。
関連する問題