2017-01-31 5 views
0

私は、Windows OSとその中にドライバを含むソフトウェアを展開するためのアプリを開発しています。このアプリケーションは、ラップトップ用のUSBスティックまたはVM用のVHDから起動するWinPE(Windowsプレインストール環境)で動作するようになっています。開発のために私はデスクトップのWindows 7にインストールされたIDE(PyCharm)を使用しています。 デスクトップPCにコードを書き、それをUSBやVHDにコピーして、ラップトップやVM上でコードを実行してデバッグすることはできません。私はVagrantがVMでコードを実行するのを助けることができるが、WinPEにSSHをインストールするのは不可能だと分かった。Python for WinPEをデバッグする最善の方法

他に何か提案できますか?

答えて

0

このような解決策のみが見つかりました。 1.プロジェクトディレクトリを共有して、デスクトップとリモートコードが完全に同じであることを確認します。 2. PyCharmがインストールされたリモートマシン(またはVM)がデスクトップPCにpingできることを確認します。 3. pydev.eggを使用してリモートデバッグを行うには、PyCharmの指示に従います。

アプリを再度デバッグするたびに、リモートマシンまたはVMでアプリを再起動する必要があるため、あまり便利ではありません。 PyCharm Remote Debugにもバ​​グがあります。デスクトップOSにキリル文字のロケールがあると、おそらくパスマッピングエラーが発生します。だからこの瞬間、私はブレークポイントで正しく動作させることができません。

これは、デバッグのために私のコードです:

from os import system as sys_call 
import os 
import sys 

debug_egg_dir = "PyCharm\\debug-eggs\\" 
debug_egg_name = "pycharm-debug-py3k.egg" 
python_dir = os.path.dirname(sys.executable) 

PORT = 15999 


def connect(server): 
    if sys_call("ping -n 1 " + server + ">nul") != 0: 
     raise ConnectionError("PyCharm Debug Server ({}) is not available".format(server)) 

    try: 
     sys.path.append(python_dir + "\\" + debug_egg_name) 
     import pydevd 
     pydevd.settrace(server, port=PORT, stdoutToServer=True, stderrToServer=True, suspend=False) 

    except ImportError: 
     raise FileNotFoundError("Copy file {0}{1} into {2}".format(
      debug_egg_dir, 
      debug_egg_name, 
      python_dir 
     )) 

    except Exception as e: 
     raise e 
関連する問題