2010-12-13 2 views
2

테스트 및 개발 목적으로 파일 액세스 오류를 번 로컬 개로 시뮬레이트하는 것이 좋습니다. 예를 들어, 응용 프로그램이 적절한 제한적인 공유 플래그를 사용하여 파일을 올바르게 열었더라도 내부적으로 호출하는 Win32 API 함수 나 즐겨 사용하는 프레임 워크를 통해 파일에 액세스하려는 시도가 여전히 발생할 수 있습니다. Win32 API 함수)가 실패 할 수 있습니다.Windows에서 파일 오류 시뮬레이션 (예 : ERROR_ACCESS_DENIED)

내가 추적 할 수 있었던 유일한 예는 컴퓨터의 바이러스 스캐너 였지만 다른 이유가있을 수 있습니다.

FWIW ("파일 시스템 필터 드라이버"에 대해. this question's comment, Luke mentions 뭔가에), 나는 하지들이 많은 수작업을 필요로 하나 때문에, 좋은 솔루션을 고려 할 것을, "시뮬레이션"할 수있는 몇 가지 가능성 파일 문제를 알고 또는 모든 응용 프로그램/파일에 적합하지 않기 때문에 :

  • 배치 파일을 네트워크 드라이브 또는 이동식 저장 장치에 - 그런 식으로 방금 엉망 장치를 할 수있는 (언 플러그, 디스크 전체 ...).
  • 응용 프로그램 프로세스를 Process Explorer에서 열고 테스트 할 파일의 핸들을 닫습니다.

(NTFS 드라이브에) 엉망으로 파일 액세스 응용 프로그램이 이미 대한 (적절한으로 파일을 열었습니다 수 있지만 어떤 ((반) 자동) 도구가있는 경우 그래서 질문은 정말 app) 공유 플래그.

+1

저는 사용 준비가 된 도구에 대해서는 모르겠지만 가상 파일 시스템 드라이버 나 파일 시스템 필터 드라이버를 사용하면 그러한 동작을 생성 할 수 있습니다. 우리의 제품은 커널 모드로 가지 않고도 그러한 도구를 만들 수있게 해줍니다. –

답변

1

Holodeck은 오류 주입에 필요한대로 반환 코드를 조작 할 수있는 Win32 API 후킹을 허용합니다.

API의 정의가 잘 정의 된 경우 here에 설명 된 주소 가져 오기 표 방식을 사용하면 직접 처리 할 수 ​​있습니다.