다음을 통해 공유


[회보 보관 ^] [< 볼륨 4, 번호 3] [볼륨 5, 번호 2 >]

The Systems Internals 뉴스레터 5권, 1호

http://www.sysinternals.com
Copyright (C) 2003 Mark Russinovich


2003년 2월 19일 - 이번 호:

  1. 사설

  2. 내부 시스템의 새로운 기능

    • Filemon v5.01
    • DebugView v4.2
    • NewSID v4.02
    • PsShutdown v2.01
    • Autoruns v2.02
    • ShareEnum v1.3
    • TCPView v2.31
    • Bluescreen v3.0
    • Microsoft의 Sysinternals
  3. 내부 정보

    • 새로운 XP/Server 2003 내부 비디오
    • Mark and David Solomon, 시애틀에서 내부 및 문제 해결 교육
    • Windows 2000 SP3 공통 기준 인증
    • Visual Studio: LastError에 조사식 추가
    • LameButton 텍스트 레지스트리 값 설명
    • Windows 개발 기록
    • 크래시 덤프 분석 소개

Sysinternals Newsletter는 Winternals Software(Web, http://www.winternals.com.)에서 후원합니다 Winternals Software는 Windows NT/2K/XP용 고급 시스템 도구를 개발하고 제공하는 선도적인 업체입니다. Windows 소프트웨어 제품에는 ERD Commander 2002, NTFSDOS Professional Edition(DOS용 NTFS 드라이버 읽기/쓰기) 및 원격 복구가 포함됩니다.

Winternals는 사용 가능한 가장 빠르고 철저한 엔터프라이즈 조각 모음 관리자 버전 2.10을 발표하게 되어 자랑스럽습니다. 이제 NT, Windows 2000 또는 Windows XP 시스템에 클라이언트 소프트웨어를 설치할 필요 없이 간단한 MMC 스냅인을 통해 전체 Windows 엔터프라이즈에서 조각 모음 일정을 관리할 수 있습니다. 자세한 내용을 보려면 http://www.winternals.com/es을(를) 방문하거나 30일 무료 평가판을 요청하세요.

여러분, 안녕하세요.

Sysinternals 뉴스레터에 오신 것을 환영합니다. 그 뉴스레터는 현재 36,000명의 구독자를 보유하고 있습니다.

데이비드 솔로몬이 이번 달 사설의 객원 저자임을 알려드리게 되어 기쁩니다. 여기서는 여러 Sysinternals 유틸리티를 사용한 실제 문제 해결 경험에 대해 설명합니다.

뉴스레터의 내용에 관심이 있을 것으로 생각되는 친구들에게 전달해 주세요.

감사합니다!

- 표시

편집 - 데이비드 솔로몬 지음

저는 "의심스러울 때 Filemon 및 Regmon(그리고 Process Explorer)을 실행하라"는 새로운 좌우명을 갖게 되었습니다.

자세히 설명드리기 전에 먼저 마크가 이 객원 사설을 쓰도록 초대해 준 것에 대해 감사하다고 말씀드리겠습니다(물론 그의 도구가 얼마나 유용한지에 대한 극찬하는 보고서이기 때문에, 그가 저에게 큰 호의를 베풀고 있는 것은 아닙니다!).

여러분 대부분이 알다시피, Mark와 저는 Windows의 내부에 대해 사람들을 교육하는 것을 돕기 위해 협력하고 있습니다. 최신 프로젝트는 Windows XP 및 Windows Server 2003의 커널 변경 내용을 다루기 위해 작년에 만든 Windows 2000 내부 비디오 자습서 업데이트였으며, 다음 공개 Windows 내부 클래스는 4월 21일부터 23일까지 워싱턴 벨뷰에서 진행됩니다. 자세한 내용은 이 뉴스레터의 관련 섹션을 참조하세요. 그리고, 많은 사람들이 우리에게 물어, 우리는 XP 및 서버 2003에 대한 Windows 2000 내부 우리의 책의 과정에있어 (임시 릴리스 날짜는 늦은 여름입니다).

본론으로 들어가서, 왜 저는 Sysinternal 도구에 대해 그렇게 열광하는 것일까요? 지난 1년여 동안, 해당 도구들은 제가 해결할 수 없는 다양한 애플리케이션 및 시스템 문제를 해결하고 해결할 수 있도록 도와주었기 때문입니다. 사실, 이 도구로 문제를 해결할 수 있었던 전혀 다른, 관련이 없는 문제의 수에 대해서는 설명할 수가 없습니다. 이 도구들이 도움이 될 것이라고 생각하지 않았던 경우에도, 이 도구들은 저에게 도움을 주었습니다. 그래서 나의 새로운 좌우명이 "의심스러울 때는 Filemon과 Regmon을 실행하라"가 된 것입니다.

이러한 도구를 적용하기 위해 찾은 두 가지 기본 기술이 있습니다:

  1. Filemon/Regmon 추적에서 애플리케이션이 실패하기 전에 마지막으로 수행한 작업을 확인합니다. 이는 문제를 나타낼 수 있습니다.
  2. 장애가 발생한 애플리케이션의 Filemon/Regmon 추적과 작동 중인 시스템의 추적을 비교합니다.

첫 번째 접근 방식에서 Filemon 및 Regmon을 실행한 다음 애플리케이션을 실행합니다. 장애가 발생한 시점에서 Filemon과 Regmon으로 돌아가서 로깅을 중지합니다(Control+E). 그런 다음 로그 끝으로 이동하여 애플리케이션이 실패하기 전에 수행한 마지막 작업(크래시, 중단 또는 중단 등)을 찾습니다. 마지막 줄부터 시작하여 참조된 파일 및/또는 레지스트리 키를 거꾸로 검사하세요. 이 방법을 사용하면 문제를 정확히 파악하는 데 도움이 될 수 있습니다.

애플리케이션이 한 시스템에서는 실패하지만 다른 시스템에서는 작동하는 경우 두 번째 방법을 사용합니다. 작동 중인 시스템과 장애가 발생한 시스템에서 애플리케이션의 Filemon 및 Regmon 추적을 캡처하고 출력을 로그 파일에 저장합니다. 그런 다음 Excel을 사용하여 양호한 로그 파일과 불량 로그 파일을 열고(가져오기 마법사의 기본값을 사용함) 처음 3개 열을 삭제합니다(그렇지 않으면 처음 3개 열에는 시간 및 프로세스 ID와 같이 실행할 때와 다른 정보가 포함되므로). 마지막으로 결과 로그 파일을 비교합니다(예를 들어 Windows XP의 경우 XP CD에서 설치할 수 있는 무료 지원 도구에 포함된 WinDiff 또는 Windows NT4 및 Windows 2000의 경우 Resource Kit에서 찾을 수 있음).

이제 몇 가지 실제 사례입니다.

Microsoft Office 97이 설치된 Windows 2000 워크스테이션에서 Word는 시작하자마자 Dr. Watson을 사용하게 됩니다. Dr. Watson이 발생하기 전에 실제로 몇 글자를 입력할 수 있었지만 입력 여부에 관계없이 시작 후 몇 초 이내에 Word가 크래시합니다. 물론 사용자는 Office를 제거하고 다시 설치하려고 시도했지만 문제는 여전히 남아 있습니다. 그래서 Filemon과 Regmon을 실행하고 Word가 죽기 전에 마지막으로 수행한 작업을 살펴보았습니다. Filemon 추적은 Word가 수행한 마지막 작업이 HP 프린터 DLL을 여는 것임을 보여 주었습니다. 알고 보니 워크스테이션에는 프린터가 없었지만 한때는 그랬던 것 같습니다. 그래서 시스템에서 HP 프린터를 삭제했고 문제가 사라졌습니다!

시작 시 Word에서 프린터를 열거하면 이 DLL이 로드되어 프로세스가 죽게 됩니다(왜 이런 일이 발생했는지는 모르겠습니다. 아마도 사용자가 가짜 버전을 설치했을 것입니다. 하지만 시스템에 더 이상 프린터는 정말 중요하지 않았습니다).

또 다른 예에서 Regmon은 사용자가 Windows XP 데스크톱 시스템을 완전히 다시 설치하지 않도록 했습니다. 증상은 사용자가 먼저 수동으로 인터넷 연결에 전화를 걸지 않으면 시작할 때 IE(Internet Explorer)가 멈추는 것이었습니다. 이 인터넷 연결은 시스템의 기본 연결로 설정되었으므로 IE를 시작하면 인터넷에 대한 자동 전화 접속이 발생해야 합니다(IE는 시작할 때 기본 홈페이지를 표시하도록 설정되었기 때문입니다). 저는 새로운 좌우명에 따라 Filemon과 Regmon을 실행하고 IE가 걸린 지점에서 로그를 거꾸로 살펴보았습니다. Filemon은 비정상적인 것을 표시하지 않았지만 Regmon 로그는 키 HKEY_CURRENT_USER\Software\Microsoft\RAS Phonebook\ATT에 대한 쿼리를 표시했습니다. 사용자가 AT&T 전화 걸기 프로그램을 한 번에 설치했다고 말했지만 제거한 후 수동으로 전화 걸기 연결을 만들었습니다. 전화 접속 연결의 이름이 "ATT"가 아니었기 때문에 제거 과정에서 레지스트리 정크가 남아 IE를 질식시키는 원인이 되었다고 의심했습니다. 그래서 키의 이름을 바꾸었고 문제가 사라졌습니다!

"로그 비교" 기술을 사용하면 Excel 파일을 가져오려는 프로그래머의 XP 워크스테이션에서 Access 2000이 중단되는 이유를 해결하는 데 도움이 되었습니다. 동일한 파일을 가져오는 작업은 다른 사용자의 워크스테이션에서는 제대로 작동했지만 이 워크스테이션에서는 실패했습니다. 따라서 작동 중인 시스템과 실패한 시스템에서 Access를 캡처했습니다. 로그 파일을 적절하게 마사지한 후 Windiff와 비교했습니다. 처음 몇 가지 차이점은 임시 파일의 이름이 다르고 대소문자 차이로 인해 일부 파일 이름이 다르기 때문이지만 물론 두 시스템 간의 "관련 차이점"은 아닙니다.

확인되지 않은 첫 번째 차이점은 Access DLL이 실패한 시스템의 \Windows\System32에서 로드되었지만 작업 시스템의 \Program Files\Microsoft Office\Office 폴더에서 로드되었다는 것입니다. DLL을 비교한 결과 \Windows\System32의 버전이 이전 버전의 Access에서 온 것으로 나타났습니다. 따라서 사용자가 해당 DLL의 이름을 .bad(으)로 변경하고 Access를 다시 실행하자 문제가 사라졌습니다!

Filemon이 매우 유용한 문제 중 하나는 파일 권한 문제를 발견하는 것입니다. 많은 애플리케이션이 액세스 거부 오류를 제대로 보고하지 않습니다. 그러나 Filemon을 실행하면 권한 문제로 인해 파일을 열지 못한 경우 결과 열에 "ACCESS DENIED"가 표시되기 때문에 이러한 유형의 오류가 분명히 나타납니다(최신 버전에는 파일에 액세스하지 못한 사용자 이름도 표시됨). 이것이 해당되는 두 가지 구체적인 예:

  1. 사용자가 Word를 시작할 때 이상한 매크로 오류가 발생했습니다. 매크로가 참조하는 .DOT 파일에 대한 권한이 이 사용자 액세스를 허용하지 않도록 변경된 것으로 나타났습니다. Filemon은 Word가 .DOT 파일에서 액세스 거부 오류를 받는 것을 명확하게 보여주었습니다. 권한이 수정되면 문제가 사라졌습니다.
  2. Outlook 애플리케이션이 Application defined or object-defined error-Message ID: [Connect].[LoadGlobalVariables].[LN:?].[EN:287]라는 메시지 상자를 표시했습니다. 이는 얼마나 많은 애플리케이션이 무작위 I/O 실패 시 쓸모 없는 오류 메시지를 생성하는지에 대한 또 다른 예입니다. 다시 Filemon을 실행하면 액세스 거부 오류가 나타납니다(이번에는 Outlook이 액세스해야 하는 폴더에 대해). 폴더에 대한 권한이 조정되었고 문제가 사라졌습니다.

이것들은 단지 몇 가지 예일 뿐입니다. 저는 Filemon과 Regmon(그리고 여기에서 다루지 않은 Process Explorer)이 도움이 된 다른 많은 성공 사례를 가지고 있습니다. Microsoft 제품 지원에서 매일 이러한 도구를 사용하여 고객 문제를 해결하는 데 도움이 되는 것은 놀라운 일이 아닙니다(마지막으로 약 40개의 기술 자료 문서가 Mark의 도구를 가리킵니다. 목록은 http://www.sysinternals.com/ntw2k/info/mssysinternals.shtml 참조).

따라서 확실하지 않은 경우 Filemon 및 Regmon을 실행하세요!

David Solomon David Solomon 전문가 세미나 http://www.solsem.com

내부 시스템의 새로운 기능

FILEMON V5.01

David가 그의 사설에서 강조한 유틸리티 중 하나인 Filemon은 몇 년 만에 처음으로 큰 폭으로 수정되었습니다. 새 릴리스는 이미 액세스 가능한 사용자 인터페이스가 있는 도구에 새로운 수준의 유용성을 제공합니다. 가장 중요한 개선 사항은 Windows NT, 2000, XP 또는 Server 2003에서 실행될 때 파일 시스템 작업이 Filemon의 기본 설정에 표시되는 방식을 변경한 것입니다. 이는 한동안 생각해 온 것으로 David의 실제 사용자 피드백을 기반으로 마침내 구현한 것입니다.

이전 버전의 Filemon은 작업을 실행하는 내부 I/O 요청의 텍스트 이름으로 파일 시스템 작업을 표시합니다. 프레젠테이션에서 기술적으로 정확하지만 많은 사용자는 Windows I/O 하위 시스템의 내부 작동에 익숙하지 않으며 FASTIO_CHECK_IF_POSSIBLE과 같은 작업이 무의미하고 FASTIO_READ 작업의 보고된 실패와 같은 다른 작업이 혼란스럽다고 생각합니다. 대부분 "노이즈"로 분류되는 작업의 다른 많은 예와 자명하지 않은 작업 이름이 있습니다.

Filemon 버전 5.01의 기본 보기 모드에는 이제 대부분의 문제 해결 시나리오에서 쓸모없고 모든 I/O 작업에 대해 직관적인 이름을 제공하는 활동을 제거하는 필터링 메커니즘이 있습니다. FASTIO_CHECK_IF_POSSIBLE은(는) 필터링되고 FASTIO_READ 실패는 표시되지 않으며 성공한 FASTIO_READ은(는) READ 작업으로 보고됩니다. 또한 기본 보기는 메모리 및 캐시 관리자가 백그라운드 작업을 수행하는 프로세스인 시스템 프로세스의 파일 시스템 작업과 시스템의 페이징 파일에 대한 작업을 포함하여 모든 메모리 관리자 페이징 작업을 생략합니다. 옵션|고급 메뉴 항목은 파일 시스템 필터 드라이버 개발자와 같이 이전 Filemon 버전에서 표시되는 파일 시스템 활동의 "원시" 보기를 원하는 사용자를 만족시킬 것입니다.

Microsoft 직원을 포함한 여러 사용자는 Filemon이 터미널 서비스 환경에서 보안 설정 디버깅을 지원하기 위해 "액세스 거부" 오류가 발생한 계정을 표시하도록 요청했습니다. 이에 대한 응답으로 버전 5.01은 프로세스가 파일을 열 때 원하는 액세스 모드(읽기, 쓰기, 삭제 등)와 해당 정보를 표시하고 파일을 여는 방법(예: 파일을 덮어쓰는지 또는 파일이 있는 경우에만 여는지 여부)을 표시합니다. .

많은 문제 해결 세션은 프로세스가 액세스하거나 액세스를 시도하는 파일을 식별하는 데 중점을 둡니다. 이 경우 읽기, 쓰기 및 닫기와 같은 작업은 노이즈에 불과합니다. 이 사실을 인식하여 새로운 "로그 열기" 필터링 옵션을 추가하여 열린 작업만 격리할 수 있습니다.

또 다른 주요 변경 내용은 Filemon v5.01이 네트워크 매핑된 공유를 처리하는 방식입니다. 이전 버전에서는 각 매핑이 드라이브 메뉴에서 드라이브 문자로 표시됩니다. 이제 이러한 모든 매핑은 볼륨 메뉴(이름이 바뀐 드라이브 메뉴)의 "네트워크" 선택 항목에 포함됩니다. 네트워크를 선택하면 Filemon이 모든 네트워크 공유를 모니터링하고 "\\computer\share\directory" 명명 규칙을 사용하여 원격 파일에 액세스할 때 발생하는 유형의 UNC 유형 네트워크 활동을 보고합니다. 이 변경으로 인해 이전 Filemon 버전에서 필요했던 대로 매핑된 네트워크 공유가 없는 경우에도 네트워크 파일 활동을 볼 수 있습니다. 몇 달 전에 Regmon에서 소개한 더 유용한 메뉴를 미러링하는 업데이트된 메뉴 구조를 포함하여 최신 Filemon에 대한 기타 사소한 변경 사항이 많이 있습니다.

Filemon v5.01 다운로드
http://www.sysinternals.com/ntw2k/source/filemon.shtml

FILEMON 및 REGMON 소스 코드 정보

소프트웨어, 하드웨어 및 네트워킹 제품 개발자는 코드를 재배포하기 위한 라이선스를 구입하여 Sysinternals를 지원합니다. 그러나 작년에 우리는 트로이 목마에서 수십억 달러 기업의 상용 제품에 이르기까지 라이선스가 없는 Sysinternals 소스 코드를 포함하는 다양한 소프트웨어를 발견했습니다. Sysinternals의 성장을 유지하고 당사 제품의 합법적인 라이선스를 유지하기 위한 노력의 일환으로 최신 Filemon 및 Regmon 릴리스를 포함하여 일부 제품에 대한 소스 코드 게시를 중단했습니다. 우리는 상용 라이선스 사용자가 소스 코드를 계속 사용할 수 있도록 할 것입니다. Sysinternals 소스 코드에 대한 미러를 발견하면 알려주시기 바랍니다.

DEBUGVIEW V4.2

DebugView는 소프트웨어 개발자가 소프트웨어에서 생성된 디버그 출력을 캡처하는 데 사용하는 매우 인기 있는 Sysinternals 유틸리티입니다. 버전 v4.2는 사용자가 요청한 여러 개선 사항 및 기능을 반영합니다. Microsoft에서 요청한 옵션을 사용하면 콘솔이 아닌 세션에서 DebugView를 실행할 때 터미널 서비스 환경의 콘솔 세션 내에서 실행되는 프로세스의 디버그 출력을 캡처할 수 있습니다. V4.2는 로드할 로그 파일, 기록 깊이 및 기타 시작 동작을 지정할 수 있는 확장된 명령줄 옵션을 지원합니다. 여러 사용자가 더 많고 더 긴 필터, 프로세스 ID 필터링, 출력에 주석을 삽입하는 기능을 요청했으며, 이 모든 기능은 최신 버전에서 사용 가능합니다. 새 릴리스는 몇 가지 버그 수정, 크래시 덤프 파일에서 커널 디버그 출력 추출에 대한 더 나은 지원, 출력 열 및 화면의 너비를 초과하는 텍스트에 대한 더 나은 풍선 창으로 마무리되었습니다.

다음 위치에서 DebugView v4.2를 다운로드하세요.
http://www.sysinternals.com/ntw2k/freeware/debugview.shtml

NEWSID V4.02

SID(보안 ID) 중복 문제는 사전 설치 Windows 이미지를 사용하여 둘 이상의 시스템을 배포하는 경우 발생하는 문제입니다. 이미지를 공유하는 각 컴퓨터에는 Windows 보안 하위 시스템이 로컬 그룹 및 계정 식별자의 기반으로 사용하는 식별자인 동일한 내부 Windows SID가 있습니다. 보안 문제로 인해 공유로 인해 대부분의 관리자는 SID 변경 도구를 사용하여 각 컴퓨터에 고유한 SID를 사후 적용하는 단계를 수행할 수 있습니다.

Sysinternals의 SID-체인저인 NewSID는 DOS에 의존하거나 시스템에 애드온 소프트웨어가 없어야 하는 다른 체인저와 달리 NewSID는 설치된 애플리케이션이 있는 컴퓨터에 새 SID를 할당하는 데 사용할 수 있는 Win32 프로그램이기 때문에 널리 사용됩니다. 버전 4.02는 새로운 마법사 인터페이스를 포함하고 Windows XP에 대한 지원을 추가하며 컴퓨터 이름을 바꿀 수 있는 주요 업데이트입니다.

많은 관리자가 요청한 기능은 사용자가 지정한 SID를 적용하는 NewSID의 기능으로, 설치 설정을 다른 컴퓨터로 마이그레이션하거나 다시 설치하는 데 유용할 수 있습니다. NewSID가 실행되면 액세스할 수 있도록 레지스트리의 일부에 임시 보안 설정을 적용할 때 레지스트리가 커집니다. 이 팽창으로 인해 레지스트리가 크기 할당량을 초과할 수 있으므로 새로운 v4.02 기능이 레지스트리를 작업의 마지막 단계로 최소 크기로 압축합니다.

NewSID v4.02 다운로드 위치
http://www.sysinternals.com/ntw2k/source/newsid.shtml

PSSHUTDOWN V2.01

Shutdown은 Microsoft가 오랫동안 Windows 리소스 키드에 포함했으며 Windows XP 설치에 포함되어 있는 도구입니다. Sysinternals PsTools 명령줄 관리 도구 키트의 구성 요소인 v2.01 이전 PsShutdown은 단순히 클론 Shutdown이었지만 이 최신 릴리스는 Shutdown의 기능을 훨씬 뛰어넘는 기능을 확장합니다. 예를 들어, 클라이언트 소프트웨어를 수동으로 설치하지 않고도 시스템이 전원 관리를 지원하는 경우 종료 및 전원 끄기, 데스크톱 잠그기, 대화형 사용자 로그오프 모두 로컬 또는 원격 시스템에서 수행할 수 있습니다.

PsShutdown v2.01 다운로드
http://www.sysinternals.com/ntw2k/freeware/psshutdown.shtml
다음 위치에서 전체 PsTools 제품군을 다운로드하세요.
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

AUTORUNS V2.02

우리 모두는 로그인할 때 실행되는 원치 않는 애플릿이 설치될 때 짜증이 나고 시작 명령을 검색하면서 좌절해 본 경험이 있습니다. Windows에 이러한 활성화를 위한 메커니즘이 20개 가까이 있는 것은 놀라운 일이 아닙니다. Windows Me 및 XP에 포함된 MsConfig 유틸리티는 때때로 도움이 될 수 있지만 가능한 시작 위치의 약 절반을 놓칩니다.

Bryce Cogswell과 제가 작성한 Sysinternals 도구인 Autoruns는 보다 거시적인 그림을 보여줍니다. 디스플레이에는 애플리케이션이 시스템 시작 또는 로그온 시 실행될 수 있는 가능한 모든 레지스트리 및 파일 위치 목록이 표시됩니다. 최신 버전은 쉽게 식별할 수 있도록 각 시작 구성 이미지에 대한 아이콘 및 버전 정보를 표시하고 상황에 맞는 메뉴와 같은 사용자 인터페이스 향상을 추가합니다. 또한 새 버전은 로그온 및 로그오프 스크립트, 로그온 시 실행되는 작업 스케줄러 작업 및 Explorer 추가 기능 시작 지점을 포함하여 더 많은 시작 위치를 식별합니다.

다음에서 자동 실행 v2.01을 다운로드하세요.
http://www.sysinternals.com/ntw2k/source/misc.shtml

SHAREENUM V1.3

시스템 관리자는 종종 로컬 네트워크 보안의 중요한 부분인 공유 폴더를 간과합니다. 회사 환경 내의 사용자는 그룹의 동료가 쉽게 액세스할 수 있도록 문서가 포함된 폴더에 대한 공유를 자주 만듭니다. 안타깝게도 많은 사용자가 다른 직원이 잠재적으로 민감한 정보에 대한 무단 액세스를 방지하는 설정으로 공유를 잠그지 못합니다.

ShareEnum은 불량 공유를 식별하고 유효한 공유에 대한 보안을 강화하는 데 도움이 되는 Bryce Cogswell이 작성한 Sysinternals 유틸리티입니다. ShareEnum을 시작하면 NetBIOS 열거를 사용하여 네트워크에서 컴퓨터를 찾고 공유에 적용된 보안 설정에 대한 세부 정보와 함께 내보내는 공유를 보고합니다. 몇 초 안에 열린 공유를 발견하고 공유를 두 번 클릭하여 Explorer에서 열어 설정을 수정할 수 있습니다. 또한 ShareEnum의 내보내기 기능을 사용하여 검사를 저장하고 현재 검사를 이전에 저장한 검사와 비교할 수 있습니다.

ShareEnum v1.3 다운로드
http://www.sysinternals.com/ntw2k/source/shareenum.shtml

TCPVIEW V2.31

TCPView는 시스템의 활성 TCP 및 UDP 끝점 목록을 표시하는 그래픽 netstat 유형 유틸리티입니다. Windows NT, 2000, XP 및 Server 2003 설치에서는 각 엔드포인트를 소유하는 프로세스를 보여줍니다. 버전 2.31은 쉽게 식별할 수 있도록 프로세스의 이미지 파일 아이콘을 표시합니다.

TCPView v2.31 다운로드
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

BLUESCREEN V3.0

Sysinternals Bluescreen of Death Screensaver는 몇 년 동안 인기 있는 다운로드였으며 버전 3.0에는 Windows XP 호환성이 추가되었습니다. 화면 보호기는 실행 중인 운영 체제(예: Windows NT, 2000 또는 XP)에 적합한 포맷과 임의의 세부 정보를 포함하고 일시 중지 후 재부팅 주기와 이후 다른 충돌 화면의 반복을 시뮬레이션하는 진짜처럼 보이는 파란색 화면을 표시합니다. David Solomon이 이 도구로 저를 속이고 저도 같은 방식으로 그를 속였다는 점은 매우 설득력이 있습니다. 자신의 화면 보호기로 사용하거나 친구와 동료를 속이는 데 사용하되 프로덕션 시스템에 설치하기 전에 상사가 유머 감각이 있는지 확인하세요.

Bluescreen v3.0 다운로드 위치
http://www.sysinternals.com/ntw2k/freeware/bluescreensaver.shtml

WWW.MICROSOFT.COM의 SYSINTERNALS

다음은 지난 뉴스레터 이후에 발표된 Microsoft 기술 자료(KB) 문서의 최신 Sysinternals 참조입니다. 이로써 Sysinternals에 대한 총 KB 참조 수가 41개가 되었음을 보고하게 되어 영광입니다.

  • ACC2000: 오류 메시지: ActiveX 구성 요소 개체를 만들 수 없습니다. http://support.microsoft.com/default.aspx?scid=KB EN-US; Q319841&

  • 방법: IIS 5.0 http://support.microsoft.com/default.aspx?scid=KB에서 ASP 문제 해결; EN-US; Q309051&Q309051&

  • OL2002: 신뢰할 수 있는 Outlook COM 추가 기능을 http://support.microsoft.com/default.aspx?scid=KB만드는 방법; en-us; 327657&

  • PRB: 오류 80004005 "Microsoft Jet 데이터베이스 엔진 '(알 수 없음)' 파일을 열 수 없습니다." http://support.microsoft.com/default.aspx?scid=KB; EN-US; Q306269&

  • NetMeeting http://support.microsoft.com/default.aspx?scid=KB을 시작, 종료 또는 로그오프할 때 사용자 프로필 언로드 실패; EN-US; Q327612&

  • XADM: 오류 메시지: 오류 123: 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못 http://support.microsoft.com/default.aspx?scid=KB되었습니다. EN-US; Q318746&

내부 정보

새 XP/SERVER 2003 내부 비디오

Windows XP/Server 2003 내부 변경 내용에 대한 새로운 비디오 업데이트를 출시 전에 주문할 수 있습니다! 기존 비디오 자습서인 INSIDE Windows 2000에 대한 부속물 또는 독립 실행형 제품으로서 이 새로운 비디오는 Windows XP 및 4월에 출시될 Microsoft의 신제품 Windows Server 2003의 커널 변경 내용에 대한 교육을 제공합니다. 다루는 주제에는 성능, 확장성, 64비트 지원, 파일 시스템, 안정성 및 복구가 포함됩니다.

Windows XP/Server 2003 Update는 이전 버전과 동일한 대화형 스타일로 David Solomon과 Mark Russinovich가 함께하는 76분 간의 집중적이고 집중적인 교육을 제공합니다. 여기에는 복습 질문, 랩 실습 및 인쇄된 워크북이 포함되어 있으며 DVD 비디오 및 CD-ROM의 Windows Media로 제공됩니다.

이러한 비디오는 Windows 소스 코드 및 개발 팀에 대한 전체 액세스 권한으로 개발되었기 때문에 실제 이야기를 듣고 있다는 것을 알고 있습니다. 궁극적인 칭찬으로 Microsoft는 전 세계 내부 교육용으로 이 비디오에 대한 라이선스를 부여했습니다.

3월 15일 이전에 구매하면 특별 사전 출시 가격이 적용됩니다! INSIDE Windows 2000을 $950에 구입하고 Windows XP/Server 2003 업데이트를 무료로 받으세요! 총 소매가 $1,390에서 거의 40% 할인된 금액입니다. 또는 독립 실행형 Windows XP/Server 2003 업데이트 비디오를 $169(소매가 $195)에 구입하세요. 웹 사이트에서 사용할 수 있는 기타 라이센스 구성. 이 기간 한정 혜택을 이용하려면 지금 http://www.solsem.com/vid_purchase.html에서 주문하세요.

MARK와 DAVID SOLOMON은 워싱턴 주 벨뷰에서 내부 및 문제 해결을 가르칩니다.

저와 David Solomon이 4월 21일부터 23일까지 워싱턴주 벨뷰(시애틀 근처)에서 3일간 Windows 2000/XP/.NET 서버 내부 강의를 진행합니다. "Windows 2000, 3rd Edition 내부"를 기반으로 시스템 스레드, 시스템 호출 디스패치, 인터럽트 처리 및 시작 및 종료와 같은 주요 시스템 구성 요소의 커널 아키텍처 및 상호 관계를 다룹니다. Sysinternals 도구를 사용하는 고급 문제 해결 기술과 기본 크래시 덤프 분석에 Windbg를 사용하는 방법을 알아보세요. 다루는 주요 하위 시스템의 내부는 프로세스 및 스레드, 스레드 예약, 메모리 관리, 보안, I/O 시스템 및 캐시 관리자를 포함합니다. OS의 내부 작동 방식을 이해하면 플랫폼을 보다 효과적이고 효과적으로 디버깅하고 문제를 해결할 수 있습니다.

등록하거나 자세한 내용은 http://www.sysinternals.com/seminar.shtml을(를) 참조하세요.

WINDOWS 2000 SP3 공통 기준 인증

많은 분들이 "Orange Book"과 C2라는 용어에 익숙하실 것입니다. 두 가지 모두 1980년대와 90년대에 미국 정부가 운영 체제를 포함한 소프트웨어의 보안 기능을 평가하기 위해 사용했던 오래된 보안 평가 표준과 관련이 있습니다. 1999년부터 미국 국방부 TCSEC(Trusted Computer System Evaluation Criteria)의 일부였던 Orange Book 등급은 새로운 CC(Common Criteria) 시스템에 포함되었습니다. CC는 TSCEC 및 영국의 ITSEC(정보 기술 보안) 등급보다 더 풍부한 국제 보안 등급 표준으로 여러 국가에서 합의했습니다.

공급업체가 CC 표준에 대해 소프트웨어 인증을 받으면 보안 기능 집합인 "보호 프로파일"을 지정하고 평가는 소프트웨어가 보호 프로파일의 요구 사항을 충족한다는 EAL(Evaluation Assurance Level)로 알려진 보증 수준을 보고합니다. 평가된 소프트웨어 보안 기능의 신뢰성에 대한 더 큰 신뢰를 나타내는 더 높은 보증 수준을 가진 7개의 EAL이 있습니다.

Microsoft는 몇 년 전에 평가가 완료된 2002년 10월에 TCSEC C2 등급에 해당하는 대략 CC에 해당하는 Controlled Access Protection Profiles에 대해 Windows 2000 for CC 등급을 제출했습니다. 평가를 수행한 독립 회사인 SAIC(Science Applications International Corporation)는 서비스 팩 3이 포함된 Windows 2000이 EAL(Evaluation Assurance Level) 4와 결함 수정으로 제어 액세스 보호 프로필을 충족하는 것으로 확인했습니다. 4의 EAL은 범용 소프트웨어에서 달성할 수 있는 가장 높은 수준으로 간주되며 결함 수정은 보안 수정 사항을 적시에 적용하기 위한 Windows 업데이트 메커니즘을 나타냅니다. 이 등급은 지금까지 운영 체제가 CC에서 달성한 최고 수준입니다.

Visual Studio: LastError에 조사식 추가

Win32 API에 의존하는 애플리케이션을 개발하는 경우 Win32 기능을 실행하는 코드를 거의 확실하게 작성했지만 어떤 이유로든 특정 오류를 보고하지 않습니다. 그렇다면 이 팁이 유용할 것입니다. 조사식 창에 @ERR,hr 식을 추가하면 현재 스레드의 LastError 변수로 저장된 값(GetLastError() Win32 함수에서 반환된 값)의 숫자 및 텍스트 표현을 볼 수 있습니다.

LAMEBUTTONTEXT 레지스트리 값 설명

Windows 애플리케이션 시작의 Windows 2000 또는 XP 시스템에서 Regmon 추적을 검사한 경우 일반적으로 NOTFOUND 오류와 함께 레지스트리 값 HKCU\Control Panel\Desktop\LameButtonText에 대한 참조를 보았을 것입니다. Microsoft의 누군가는 분명히 유머 감각이 있지만 이 값은 어디에 쓰이나요? 이 값은 피드백을 보고하기 위해 링크를 클릭하도록 지시하는 창 제목 표시줄에 Windows 베타 및 릴리스 후보 릴리스에 표시되는 텍스트를 저장합니다. 시험판이 아닌 버전의 Windows에서 사용자 정의 텍스트를 배치할 수 있다면 좋겠지만 불행히도 프로덕션 릴리스에서는 해당 기능이 비활성화됩니다.

WINDOWS 개발 역사

Paul Thurrott는 Windows NT 개발 프로세스의 역사에 대한 멋진 3부작 기사 시리즈를 가지고 있습니다. http://www.winsupersite.com/reviews/winserver2k3_gold1.asp에서 확인해 보세요.

크래시 덤프 분석에 대한 빠른 소개

새 하드웨어나 소프트웨어를 설치한 직후 시스템이 크래시하면 원인을 진단하는 것이 분명합니다. 그러나 때때로 시스템 크래시가 가끔 발생하며 뚜렷한 이유가 없습니다. 이러한 경우 크래시 원인을 확인하는 유일한 방법은 크래시 덤프를 분석하는 것입니다. 이 자습서에서는 Microsoft의 OCA(Online Crash Analysis)의 작동 방식과 크래시 퍼즐에 대한 답을 제공하는 방법을 설명한 다음 OCA가 성공적으로 분석하지 못하거나 분석할 수 없는 크래시를 확인할 수 있도록 자체 크래시 분석 환경을 설정하는 방법을 설명합니다.

Microsoft는 크래시 관련 정보의 중앙 집중식 저장소를 기반으로 하는 자동화된 분석 서비스인 Windows XP 릴리스와 함께 OCA를 도입했습니다. 크래시로 인해 XP 시스템이 재부팅된 후 이 시스템은 크래시 정보를 OCA 사이트(http://oca.microsoft.com/en/Welcome.asp).에 전송하라는 메시지를 표시합니다. 동의하는 경우 XP는 64KB 미니 덤프 크래시 파일과 함께 기본 시스템 구성을 설명하는 XML 파일을 업로드합니다. 미니덤프에는 크래시 코드, 크래시 시 실행 중인 스레드 스택, 시스템에 로드된 드라이버 목록, 크래시 발생 시 실행 중인 프로세스를 관리하는 데이터 구조와 같은 크래시와 즉시 관련된 소량의 데이터가 포함됩니다.

OCA가 정보를 받으면 분석을 진행하고 분석 요약을 데이터베이스에 저장합니다. 업로드 후 프롬프트를 따르고 OCA 사이트를 방문하면 분석을 추적할 수 있는 기회가 제공됩니다. 이렇게 하려면 Passport 계정으로 로그인해야 합니다. 그런 다음 크래시의 이름과 크래시의 특성을 설명하는 일부 텍스트를 입력합니다. OCA 엔진이 Microsoft가 원인을 식별한 데이터베이스의 다른 크래시와 크래시를 연관시키는 경우 사이트는 전자 메일로 사용자에게 알리고 사용자가 사이트를 다시 방문하여 제출한 크래시를 조회할 때 해결 방법을 통해 드라이버 또는 운영 체제 업데이트를 다운로드할 수 있는 위치를 알려줍니다. 불행히도 OCA 지원이 XP에서 기본 제공되고 Windows 2000 크래시 덤프 파일을 허용하지만 NT 4를 지원하지 않으며 대부분의 크래시 원인을 식별할 수 없습니다(적어도 제 경험으로는).

크래시 분석을 직접 수행하려면 http://www.microsoft.com/ddk/Debugging/.에서 다운로드할 수 있는 Windows용 디버깅 도구 패키지 형태로 Microsoft에서 제공하는 적절한 도구가 필요합니다. 이 패키지에는 무엇보다도 Windbg 분석 도구가 포함되어 있습니다. 도구를 다운로드하고 설치한 후 Windbg를 실행하고 File|Symbol File Path 대화 상자를 엽니다. 여기에서 분석 중인 크래시가 생성된 운영 체제 버전에 대한 기호 파일을 찾을 위치를 Windbg에 알려줍니다. 기호를 설치한 디렉터리의 경로를 입력할 수 있지만 크래시하는 시스템에 설치된 정확한 운영 체제, 서비스 팩 및 핫픽스에 대한 기호 파일을 가져와야 합니다. 기호 파일을 수동으로 유지하는 것은 지루한 일이며 서로 다른 시스템의 크래시를 분석하려는 경우 각각의 서로 다른 설치에 대한 서로 다른 기호 파일 세트에 대해 걱정해야 합니다.

Microsoft의 기호 서버에서 Windbg를 가리키면 기호 파일 번거로움을 피할 수 있습니다. 기호 서버를 사용하도록 구성하면 Windbg는 사용자가 여는 크래시 덤프를 기반으로 주문형 기호 파일을 자동으로 다운로드합니다. 기호 서버는 NT 4부터 Server 2003 베타 및 릴리스 후보(서비스 팩 및 핫픽스 포함)에 대한 기호를 저장합니다. Windbg를 기호 서버로 보내는 구문은 srv*c:\symbols*http://msdl.microsoft.com/download/symbols입니다. c:\symbols을 기호 파일을 저장하려는 디렉터리로 바꿉니다. 기호에 대한 자세한 내용은 http://www.microsoft.com/ddk/debugging/symbols.asp을(를) 참조하세요.

크래시 덤프를 분석할 준비가 되기 전에 수행해야 하는 단계가 하나 더 있습니다. 크래시 덤프를 생성하도록 시스템을 구성하는 것입니다. 제어판에서 시스템 애플릿을 열고 Win2k 이상에서 고급 페이지의 시작/종료 버튼을 클릭하면 됩니다. NT 4에서는 애플릿의 시작/종료 탭으로 이동합니다. NT 4 시스템의 유일한 크래시 덤프 옵션은 전체 메모리 덤프로, 크래시 발생 시 실제 메모리의 전체 내용이 지정한 파일에 저장됩니다. Win2k 이상에는 미니, 커널 및 전체의 세 가지 옵션이 있습니다. Win2K 및 XP Professional 및 Home 기본값은 mini입니다. 서버 시스템은 기본적으로 전체로 설정됩니다. 워크스테이션/클라이언트 시스템의 경우 설정을 미니에서 커널 덤프로 변경하면 크래시 덤프 파일의 크기를 최소화하면서도 Windbg가 크래시를 효과적으로 분석하는 데 필요한 커널 데이터 구조에 대한 전체 정보를 제공하므로 애플리케이션이 아닌 운영 체제가 소유한 물리적 메모리의 일부만 저장할 수 있습니다. 서버 시스템의 경우 전체 덤프도 괜찮지만 커널 덤프는 안전한 선택입니다(매우 큰 메모리 시스템이 있는 경우 유일한 선택일 수 있음).

이제 크래시를 분석할 준비가 되었습니다. 크래시가 발생하면 파일|크래시 덤프 열기 메뉴 옵션을 선택하여 결과 덤프 파일을 Windbg로 로드하기만 하면 됩니다. 덤프가 로드되면 Windbg가 이를 처리하기 시작하고 운영 체제 버전 및 기호 로드에 대한 메시지가 표시됩니다. 그러면 "Bugcheck Analysis"라는 텍스트가 있는 메시지가 표시됩니다. 메시지 다음의 출력은 크래시 코드 및 크래시 코드의 매개 변수와 "아마도 원인"을 보고합니다.

경우에 따라 여기에서 Windbg가 수행하는 기본 분석은 오류가 있는 드라이버 또는 커널 구성 요소를 식별하기에 충분합니다. 그러나 항상 !analyze -v 명령을 입력하는 것이 좋습니다. 이 명령은 동일한 분석을 생성하지만 더 많은 정보를 제공합니다. 예를 들어 텍스트는 크래시 코드의 의미를 설명하고 선택적 매개 변수가 무엇을 나타내는지 알려주며 때로는 다음에 무엇을 시도할지에 대한 조언을 제공합니다. 크래시가 발생한 코드로 이어지는 함수 실행 기록인 스택 추적도 표시됩니다. 드라이버가 잘못된 데이터를 커널에 전달하거나 분석에서 정확히 지적한 드라이버를 추적하면 해당 이름을 보고 가능한 근본 원인으로 식별할 수 있습니다.

크래시 당시의 시스템 상태에 대해 자세히 알아보려면 실행 중인 프로세스, 로드된 드라이버, 메모리 사용량 등의 목록을 볼 수 있는 수많은 Windbg 명령이 있습니다. Windbg 도움말 파일에는 추가 정보 및 지침에 대한 후속 조치를 권장하는 버그 확인 참조도 포함되어 있으며 여전히 난처한 경우 Microsoft의 기술 자료(KB)에서 크래시 코드를 검색하는 것이 좋습니다. Microsoft는 일반적인 크래시에 대한 KB 문서를 만들고 특정 문제를 해결하는 공급업체 사이트 또는 핫픽스로 안내합니다.

제가 이 정보를 예시와 함께 실시간으로 발표하는 것을 보고 싶으시면 다음 컨퍼런스에서 저를 만나보세요.

  • 내부 및 문제 해결 세미나 David와 저는 4월에 워싱턴주 벨뷰에서 제공할 예정입니다.
  • 5월 애리조나주 Scottsdale의 Windows 및 .NET Magazine 연결: http://www.winconnections.com/win
  • 이번 여름 TechEd US(달라스) 또는 TechEd 유럽(바르셀로나)

Sysinternals 뉴스레터를 읽어주셔서 감사합니다.

발행일: 2003년 2월 19일 수요일 오후 4:47 by ottoh

[회보 보관 ^] [< 볼륨 4, 번호 3] [볼륨 5, 번호 2 >]