Win32에서 파일 시스템 "액세스 거부"오류를 디버그하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1182909

문제

나는 지금 우리의 빌드 스크립트와 함께 시간을 보내고있다 : 나는 waf 빌드 과정을 주도하고 빌드 중에 간헐적 인 오류가 발생하는 Windows를 제외하고는 모든 것이 잘 작동합니다.

오류는 기본적으로 기본적으로 한 형식의 "액세스 거부"오류이며, 빌드 프로세스 중에 생성 한 임시 파일과 관련하여 일부 도구가 실행 및 작업을 수행 할 수 있도록합니다. 예를 들어, 실행하기 전에 NSIS 실행 파일 설치 프로그램을 생성하려면 필요한 모든 파일을 빌드 디렉토리에 "스테이지"하고 거기에서 명령을 실행해야합니다. 때로는 상황이 예상대로 작동하지만 다른 경우에는 복사 한 파일 중 하나에 대해 오류가 발생합니다.

File: failed opening file "Platform\\Win32\\lxml-2.2.1-py2.6-win32.egg

나는 나이가 문제가 무엇인지 알아 내려고했지만 문제가 간헐적이기 때문에 정말 어렵습니다. 마지막으로 시도한 것은 사용하는 것입니다 Procmon 파일 시스템 액세스를 모니터링하여 액세스 오류를 일으키는 원인을 추적하려고 시도합니다. 파일이 있다는 것을 알고 있으므로 파일이 열려 있어야합니다. 무엇이 잘못되었는지 알 수 없기 때문에 아래에 관련 출력을 포함하고 있습니다. Python은 NSIS가 열기 전에 파일을 닫는 것처럼 보이지만 NSIS가 실패합니다. 누구든지 이것에 대해 어떤 빛을 흘릴 수 있습니까? 이 문제는이 상황이 아니라 디렉토리 빌드를 위해 복사 한 파일로 작업하기 위해 하위 프로세스를 스폰하는 다른 경우에도 격리되어 있습니다.

7:35:15.9704427 PM  python.exe  4968    QueryOpen   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg FAST IO DISALLOWED  
7:35:15.9707497 PM  python.exe  4968    CreateFile  ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
7:35:15.9708634 PM  python.exe  4968    QueryBasicInformationFile   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS CreationTime: 7/25/2009 7:35:11 PM, LastAccessTime: 7/25/2009 7:35:11 PM, LastWriteTime: 7/25/2009 7:35:11 PM, ChangeTime: 7/25/2009 7:35:11 PM, FileAttributes: A
7:35:15.9709271 PM  python.exe  4968    CloseFile   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS 
7:35:15.9785180 PM  python.exe  4968    CreateFile  ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS Desired Access: Write Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
7:35:15.9786119 PM  python.exe  4968    SetBasicInformationFile ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS CreationTime: 1/1/1601 1:00:00 AM, LastAccessTime: 1/1/1601 1:00:00 AM, LastWriteTime: 1/1/1601 1:00:00 AM, ChangeTime: 1/1/1601 1:00:00 AM, FileAttributes: AN
7:35:15.9787155 PM  python.exe  4968    CloseFile   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS 
7:35:15.9789401 PM  python.exe  4968    QueryOpen   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg FAST IO DISALLOWED  
7:35:15.9790309 PM  python.exe  4968    CreateFile  ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
7:35:15.9790700 PM  python.exe  4968    QueryBasicInformationFile   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS CreationTime: 7/25/2009 7:35:11 PM, LastAccessTime: 7/25/2009 7:35:11 PM, LastWriteTime: 7/25/2009 7:35:11 PM, ChangeTime: 7/25/2009 7:35:12 PM, FileAttributes: A
7:35:15.9790952 PM  python.exe  4968    CloseFile   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS 
7:35:15.9792809 PM  python.exe  4968    CreateFile  ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS Desired Access: Write Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
7:35:15.9793270 PM  python.exe  4968    SetBasicInformationFile ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS CreationTime: 1/1/1601 1:00:00 AM, LastAccessTime: 1/1/1601 1:00:00 AM, LastWriteTime: 1/1/1601 1:00:00 AM, ChangeTime: 1/1/1601 1:00:00 AM, FileAttributes: AN
7:35:15.9794041 PM  python.exe  4968    CloseFile   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS 
7:35:16.3508170 PM  makensis.exe    3296    CreateFile  ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SHARING VIOLATION   Desired Access: Generic Read, Disposition: Open, Options: Sequential Access, Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, AllocationSize: n/a
7:35:16.3557763 PM  python.exe  4968    QueryOpen   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg FAST IO DISALLOWED  
7:35:16.3558928 PM  python.exe  4968    CreateFile  ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
7:35:16.3559461 PM  python.exe  4968    QueryNetworkOpenInformationFile ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS CreationTime: 7/25/2009 7:35:11 PM, LastAccessTime: 7/25/2009 7:35:11 PM, LastWriteTime: 7/25/2009 7:35:11 PM, ChangeTime: 7/25/2009 7:35:12 PM, AllocationSize: 1/1/1601 1:00:00 AM, EndOfFile: 1/1/1601 1:00:00 AM, FileAttributes: A
7:35:16.3560121 PM  python.exe  4968    CloseFile   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS 
7:35:16.3562048 PM  python.exe  4968    CreateFile  ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SHARING VIOLATION   Desired Access: Read Attributes, Delete, Disposition: Open, Options: Non-Directory File, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
7:35:21.9320579 PM  python.exe  3160    CloseFile   ..\Path\To\Build\lxml-2.2.1-py2.6-win32.egg SUCCESS 
도움이 되었습니까?

해결책

그 흔적에서 추적이 시작될 때 파일이 이미 있습니다. 따라서 다른 것이 그것을 열어 두었을 수 있습니다 (예 : 바이러스 스캐너 또는 인덱싱 서비스).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top