업이란 무엇입니까?!
여보세요. 누군가 말할 때 나는 그것을 좋아한다.
"[...] 디버그 방법?"
나는 실제로 Windows 8 설치를 설치하지 않았으며 Windows 8 설치를하지도 않았으므로 이전 버전과 근본적인 유사성이 있다고 가정 할 것입니다. 나는 가정을하려고 노력할 것이다.
샷 호출
내 생각에 문제에 대한 설명에 따르면 시스템이 레지스트리에 적절한 항목을 기록하지 못하여 이전에 "열기 ..."를 수행 한 후 "열기"를 실행하면 응용 프로그램이 표시됩니다. 마지막으로 선택했습니다.
문제를 해결하고 초기 추측을 증명하거나 반증합니다. 아래의 모든 상세 정보가 필요하지 않은 경우 문제를 발견하기 시작하는 정찰 섹션으로 건너 뛰거나 스캔 할 수 있습니다.
빠른 수정
아래에 설명 된보다 복잡한 단계를 시작하기 전에 먼저 제어판 에있는 기본 프로그램 인터페이스를 조사해야합니다 . "다음으로 열기 ..."메뉴를 통해 비슷한 효과를 얻을 수 있지만 이미 효과가 없다고했습니다. ** 선택한 응용 프로그램의 기본 응용 프로그램으로 설정을 기억하도록 나타내는 확인란을 설정해야합니다.
제어판 의 기본 프로그램 인터페이스 에는 "기본값을 재설정"하거나 이전 버전으로 되 돌리는 옵션이있을 수 있습니다. 이러한 다양한 옵션을 고려하여 문제가 해결되는지 확인할 수 있습니다. 가장 쉬운 수정 사항이므로 먼저이 작업을 수행하십시오. 이들이 작동하지 않으면 아래 옵션으로 계속 진행해야합니다.
가정
이것들은 내가 예상하는 가정입니다. 그 중 하나가 기본이 아닌 경우 알려 주시면 Windows 8 설치를 설정하는 데 시간이 걸립니다.
레지스트리
내가 만들고있는 가장 큰 가정은 OS가 여전히 레지스트리를 사용하고 있으며 예제를 제공하는 곳에서는 Windows 8의 레지스트리 디렉토리 레이아웃 / 구조가 이전 버전과 비슷하다고 가정합니다.
Cmd.exe
개인적으로, 나는 종종 명령 프롬프트를 선호하므로 터미널 세션의 맥락에서 단계를 설명 할 것입니다. Windows 8에 여전히 cmd.exe 가 있다고 가정합니다 . 그렇지 않으면 정말 놀랐습니다.
레지스트리 편집기
레지스트리가 있으면 레지스트리를 보거나 편집하는 도구가있을 수 있습니다. GUI 및 명령 줄 도구의 이름이 이전 버전과 동일하다고 가정하겠습니다.
사용자 특권
상승 된 권한으로 셸을 호출하는 방법은 수행 할 작업을 알고있는 OS 선행 작업과 충분히 유사하다고 가정합니다. 내가 기본이 아닌 경우 좀 더 정교하게 요청하면 내가 할 수있는 일을 할 것입니다.
SysInternals 스위트
Windows 8에서 이러한 기능을 사용할 수없는 경우 실망 할 것 입니다. Microsoft 및 타사 개발자가 수행 하는 개발자 / QA 주기에 매우 근본적이기 때문에 이러한 기능을 사용할 수 없을 것이라고 믿을 수 없습니다 .
WinDbg.exe, DDK 및 SDK
아직 설치하지 않았다고 가정합니다. 괜찮아. 이러한 도구를 필요로하지 않고도 문제를 해결할 수 있습니다. 관통 이동 정찰 당신이 더 깊게하기 위해, 다음이 도구에 대해 이야기 할 필요 (또는 할) 경우 첫 번째 섹션합니다.
정찰
항상 가능한 가장 간단한 방법으로 작업을 수행하십시오. 시작 Windows 디버거 것은 시작 지점에 대한 잔인한 것, 그리고 좀 더 어려운 관련된 사건의 조각 / 순서를 발견하는 것입니다.
SysInternals Suite를 아직 다운로드하여 설치하지 않았다면 지금 설치 해야합니다. 최소한 무엇이 잘못되었는지 발견하기 위해서는 프로세스 탐색기 와 프로세스 모니터 가 필요합니다 . 이 두 도구는 스위트의 일부이며, * .zip 파일로 다운로드 할 수 있지만 네트워크 연결 상태가 좋지 않으면 두 도구를 개별적으로 다운로드하여 더 빠르게 수행 할 수 있습니다.
스위트 / 도구를 시스템의 적절한 위치 (대개 개인 취향)에 압축을 푸십시오. 기본 Windows 압축 풀기 유틸리티를 사용하는 경우 아카이브를 압축 해제하기 전에 영역 파일 을 제거하려고합니다 . 영역 파일이 OS가 알고있는 방법이다 "이 파일을 인터넷에서 다운로드 한 [...] 자신의 위험 [...]에 [...]의 선택을 해제 상자에 실행". 팝업 상자에서 비슷한 메시지를 본 적이 있습니다. 일반적으로 팝업 왼쪽 아래에 한 번 토글하면 결정을 기억하는 작은 확인란이 있습니다.
확인란을 확인하는 또 다른 방법은 다운로드 한 파일에서 마우스 오른쪽 단추로-> 속성을 클릭하는 것입니다. 확인란은 일반 탭 의 맨 아래에 있어야합니다 . 이 확인란을 한 번 전환하면 이진에서 영역 파일 이 제거됩니다 (부수적으로,이 영역 파일 은 해당 이진의 대체 데이터 스트림에 저장되지만 다른 설명입니다. 지금은 팝업 창을 사용하거나 파일 속성 영역 파일 을 조작하기위한 인터페이스 .
기본 Windows zip 도구로 압축을 풀기 전에 * .zip 아카이브에서 영역 파일을 제거하십시오. * .zip 파일에서 파일을 제거하지 않으면 ZIP 유틸리티는 압축 해제 된 각 파일을 영역 파일 로 표시하므로 스위트에서 실행하는 바이너리에 대해 팝업 창이 표시되는 데 어려움이 있습니다.
시작할 두 가지 도구가 있습니다. * 프로세스 탐색기 (procexp.exe) * 프로세스 모니터 (procmon.exe)
자세한 내용을 보려면 해당 * .chm 파일을 참조하십시오. 프로세스 탐색기로 시작하겠습니다. 문제를 신속하게 발견 할 수없는 경우 프로세스 모니터 (이동하는 데 조금 더 복잡합니다)로 이동하고 여전히 문제를 해결할 수없는 경우 대화합니다. 큰 총을 꺼내는 것에 대해 사실, 나는 정찰 단계에서 알아야 할 것을 종종 발견하고 디버거를 시작할 필요가 없다는 것입니다.
배경과 이해
레지스트리는 시스템이 파일 확장자와 파일 확장자를 처리하는 방법을 알고있는 응용 프로그램과 관련된 맵핑을 저장하는 위치입니다. 예를 들어, 명령 행 도구 ftype 및 assoc 을 사용하여 애플리케이션 확장에 대한 맵핑을보고 조작 할 수 있습니다.
확장자 ".txt"와 관련된 파일 형식을 보려면 터미널에서 다음 명령을 실행하십시오.
$> assoc .txt
.txt=txtfile
이는 .txt 파일 확장자가 txtfile 파일 유형 클래스에 할당 되었음을 나타냅니다 . 그런 다음 txtfile 클래스 와 연관된 응용 프로그램을 보려면 다음 명령을 실행하십시오.
$> ftype txtfile
txtfile=%SystemRoot%\system32\notepad.exe %1
이 도구는 시스템의 레지스트리 설정을 읽고 있습니다. 터미널에서 실행하거나 대부분의 사람들이 GUI 레지스트리 편집기 regedit.exe를 선호하는 reg.exe 와 같은 도구를 사용하여 직접 볼 수 있습니다 . 해당 위치에는 HKEY_CLASSES_ROOT 하이브 아래에서 간단하게 찾아 볼 수있는 일부 확장, 파일 형식 클래스 및 응용 프로그램 연결이 있습니다. 이 하이브 바로 아래에는 ".txt"뿐만 아니라 "txtfile"및 훨씬 더 많은 키가 있습니다.
다음은 assoc 및 ftype 유틸리티 를 사용하는 몇 가지 예입니다 .
assoc에 확장을 공급하고 있는지 확인하십시오 . 나는 당신이 이미 이것을 알고 있다고 생각하지만, 명확한 파일 확장자 는 파일 이름을 끝내는 "점 뒤에 3 또는 4 문자"입니다. 예를 들어 application.exe , document.txt 또는 presentaion.ppt입니다. ASSOC의 유틸리티를 사용하여 제공 할 것으로 예상 "." 그리고 3/4 문자를 매개 변수로 사용하십시오.
$> assoc .exe
.exe=exefile
$> assoc .txt
.txt=txtfile
로부터 분리 된 별개의 파일 확장자 이 파일 형식은 . 여러 파일 확장자 를 단일 파일 유형 으로 그룹화 할 수 있습니다 . ".html"과 ".htm"이 동일한 파일 형식에 어떻게 매핑되는지 고려하십시오. 즉, "htmlfile"입니다. 아래 예제는이 점을 더 자세히 보여줍니다.
$> assoc .html
.exe=htmlfile
$> assoc .htm
.txt=htmlfile
$> ftype htmlfile
htmlfile="C:\Program Files (x86)\Internet Explorer\iexplorer.exe" -nohome
또한 레지스트리에는 HKEY_CLASSES_ROOT 하이브 아래에 다음 키가 포함되어 있습니다.
- HKCR.html
- HKCR.htm
- HKCR \ html 파일
txt 파일을 업로드 / 첨부 / 공유 할 수있는 편리한 방법이 있다면 다음 명령을 실행하면 생성 된 출력을 살펴 보겠습니다.
$> cd \somewhere\easy\for\you\to\find\
$> assoc > extension_associations.txt
$> ftype > filetype_handlers.txt
이제 파일을 작성한 폴더를 열고 공유 할 수 있습니다. 다음 명령으로 파일도 열어야합니다 (만든 파일을 찾은 것으로 보이는 경우).
$> notepad \somewhere\easy\for\you\to\find\extension_associations.txt
$> notepad \somewhere\easy\for\you\to\find\filetype_handlers.txt
전체 * .txt 파일을 나와 공유 할 수 없으면 최소한이 두 명령을 실행하고 결과를 주석에 넣으십시오.
$> assoc .txt
.txt=textfile
$> ftype textfile
textfile="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
거기에 아무것도 보이지 않으면 먼저 무언가로 설정해야합니다. 변경을 수행 할 때 높은 권한 (즉, 관리자 권한)이 있는지 확인하십시오. 그렇지 않으면 예상 한대로 작동하지 않을 수 있습니다.
프로세스 탐색기
필요한 경우 TODO
프로세스 모니터
필요한 경우 TODO
Windows 디버깅 환경 설치