2016-07-19 4 views
0

Visual Studio 2015에서 파이썬 코드의 디버깅 프로세스를 시작할 때마다 필자는 코드가로드되기 전에 실행되는 Python 라이브러리의 여러 줄에 많은 중단을해야합니다. 예를 들어, 라인 (143), 147 (계면에 도시되지 않음)과 site.pyPython 라이브러리 코드에서 무인 중단 점을 제거하는 방법은 무엇입니까?

def addpackage(sitedir, name, known_paths): 
"""Process a .pth file within the site-packages directory: 
    For each line in the file, either combine it with sitedir to a path 
    and add that to known_paths, or execute it if it starts with 'import '. 
""" 
if known_paths is None: 
    _init_pathinfo() 
    reset = 1 
else: 
    reset = 0 
fullname = os.path.join(sitedir, name) 
try: 
    f = open(fullname, "rU") # <-- Line 143 
except IOError: 
    return 
with f: 
    for n, line in enumerate(f): # <-- Line 147 
     if line.startswith("#"): 
      continue 
     try: 
      if line.startswith(("import ", "import\t")): 
       exec line 
       continue 
      line = line.rstrip() 
      dir, dircase = makepath(sitedir, line) 
      if not dircase in known_paths and os.path.exists(dir): 
       sys.path.append(dir) 
       known_paths.add(dircase) 
     except Exception as err: 
      print >>sys.stderr, "Error processing line {:d} of {}:\n".format(
       n+1, fullname) 
      for record in traceback.format_exception(*sys.exc_info()): 
       for line in record.splitlines(): 
        print >>sys.stderr, ' '+line 
      print >>sys.stderr, "\nRemainder of file ignored" 
      break 
if reset: 
    known_paths = None 
return known_paths 

< 184 무인 중단이있다 ... 생략 ... 또한>

def addsitedir(sitedir, known_paths=None): 
     """Add 'sitedir' argument to sys.path if missing and handle .pth files in 
     'sitedir'""" 
     if known_paths is None: 
      known_paths = _init_pathinfo() 
      reset = 1 
     else: 
      reset = 0 
     sitedir, sitedircase = makepath(sitedir) 
     if not sitedircase in known_paths: 
      sys.path.append(sitedir)  # Add path component 
     try: 
      names = os.listdir(sitedir) # <-- Line 184, here it stops for a lot of times 
     except os.error: 
      return 
     dotpth = os.extsep + "pth" 
     names = [name for name in names if name.endswith(dotpth)] 
     for name in sorted(names): 
      addpackage(sitedir, name, known_paths) 
     if reset: 
      known_paths = None 
     return known_paths 

genericpath.py 라인 (18)과 같은 일 :

def exists(path): 
    """Test whether a path exists. Returns False for broken symbolic links""" 
    try: 
     os.stat(path) # <-- Line 18, breaks here very many times 
    except os.error: 
     return False 
    return True 

이 모든 모든 디버깅 세션이 매우 sloooow합니다. 어떻게하면 더 이상 실행을 멈추지 않도록이 장소를 숨길 수 있습니까? 필자는 Windows 7 x64에서 Python 2.7.10 및 Visual Studio 2015를 사용합니다.

+0

파일 I/O를 중단하도록 설정 한 것처럼 들리는군요. – user2357112

+0

어쩌면, 그러나 나는 그들을 설정하지 않았다. 그것은 기본 설정에서 뭔가. 모든 중단 점을 지우면 문제를 해결하는 데 도움이됩니다. – Dingo

답변

1

메뉴에서 디버그 항목을 선택한 다음 모든 중단 점 삭제 옵션을 선택하십시오. 키보드 단축키 Ctrl + Shift + F9도 동일하게 수행됩니다.

+0

대단히 감사합니다! 그게 도움이 :) – Dingo