OK, 직접 답변을 찾았습니다. 문제가 경로 매핑 설정과 관련되어 있다고 생각했지만 지금은 파이썬 코드가 호출되는 방식과 관련되어 있습니다.
pydevd
은 Windows에서 실행되는 PyCharm의 원격 디버깅 서비스와 통신하기 때문에 전체 Python 스크립트가 무엇인지 알아야이 정보를 PyCharm에 전송하여 소스 및 해당 중단 점을 찾을 수 있습니다. Maya가 Python 스크립트를 Script Editor의 전체 내용이 완전한 파이썬 모듈임을 pydevd가 알 수있을만큼 똑똑하지 않기 때문에 "Script Load"버튼을 클릭하여 Python 스크립트를 Maya Script Editor에서 직접 실행하는 것은 불가능합니다. 파일 - 그것은 본질적으로 라인 단위의 파이썬 인터프리터이며, 편집 편의성을 제공하는 멀티 라인 에디터의 형태로만 존재합니다.
그래서 핵심은 pydevd가 전체 파이썬 모듈 스크립트가 무엇인지 알려주는 것입니다. 이는 import
을 통해 코드를 실행하여 수행됩니다. 가져온 것이 전체 모듈 파이썬 코드 여야한다는 것은 놀라운 일이 아닙니다. 그 결과,
import pydevd
pydevd.settrace('the.remote.debugger.IP', port=7720, stdoutToServer=True, stderrToServer=True)
를 사용하여 마야에 pydevd 실행 한 후, 우리는 파란색을 클릭 한 후, 편집기
import theBuggyModule
이 방법은 스크립트를 입력하여 우리가 디버깅하려는 파이썬 코드를 호출해야한다 "실행" 아이콘을 클릭하면 실행 흐름이 이제 PyCharm의 원격 디버거로 전송되므로 스크립트 편집기가 응답을 중지합니다. 때때로 PyCharm은 소스를 인식하고 따라서 중단 점을 잡는 데 약간의 어려움이 있습니다. 이 경우, PyCharm의 새로 생성 된 탭에서 "자동 감지"링크를 클릭하면 소스 파일이 목록에 있어야합니다. 이 작업은 한 번만 수행됩니다. 이 질문은 내 질문에 설명 된대로 경로 맵이 설정된 경우에만 작동합니다. 그렇지 않다면 PyCharm이 원격 디버거 서비스가 실행중인 원격 컴퓨터에서 소스를 찾을 수 있도록 매핑을 적절히 설정해야합니다.
내 답변이 완벽하지 않으므로 어떤 (올바른) 보완적인 자료라도 환영합니다. "그건 불가능합니다", "로컬에서만 디버깅 할 수 있습니다", "그런 식으로 작동하지 않습니다"또는 그런 식으로 말하지 마십시오. 감사.
예, 물론 PyCharm의 IDE에서 중단 점을 잡아 내고 Python 코드를 Maya Script Editor에서 실행했습니다. – user5280911
내 말은 ide 만이 ide를 통해서만 실행되는 중단 점을 해석 할 수 있다는 것입니다. – cronicryo
당신이 무슨 말을하고 있는지 전혀 모르겠습니다. "원격 디버거"가 무엇인지 모르는 것 같습니다. – user5280911