애드소프트 기술블로그

개발·서버 운영 실무 기록

애드소프트 박재호입니다. IIS·ASP.NET 웹 서비스와 메일서버를 직접 운영하고, Unity 게임과 데스크톱 앱을 만들며 겪은 문제와 해결 과정을 기록합니다.

최신 글

spoolsv.exe(인쇄 스풀러)는 무엇인가 — CPU 높음, 인쇄 멈춤, PrintNightmare 이후 달라진 것

spoolsv.exe 는 Windows 인쇄 스풀러 서비스(Spooler)의 실행 파일로, 인쇄 대기열을 관리하는 정상 프로세스다. 이 PC 에는 진짜 프린터가 한 대뿐인데 프린터 목록은 여섯 개, 포트 모니터는 아홉 개였다. 제조사 드라이버가 스풀러 안에서 도는 구조, CPU 가 높거나 인쇄가 멈출 때 볼 곳, PrintNightmare 이후 바뀐 것과 스풀러를 꺼도 되는지를 정리했다.

fontdrvhost.exe 와 WUDFHost.exe 는 무엇인가 — UMFD-0 계정의 정체, 사용자 모드 드라이버가 여러 개인 이유

fontdrvhost.exe 는 글꼴 파일을 커널 밖에서 해석하는 Windows 기본 프로세스로 세션마다 하나씩 뜨고, WUDFHost.exe 는 장치 드라이버를 사용자 모드에서 돌리는 그릇이다. 실제 PC 에서 두 fontdrvhost 의 부모(wininit·winlogon)와 세션, 두 WUDFHost 가 맡은 블루투스 마우스·휴대폰을 찾아 여러 개인 이유와 어떤 장치인지 확인하는 법을 정리했다.

audiodg.exe CPU 높음 — Windows 오디오 장치 그래프 격리의 정체와 오디오 향상·제조사 효과 확인법

audiodg.exe(Windows 오디오 장치 그래프 격리)는 소리를 섞고 효과를 입히는 Windows 기본 프로세스로, CPU 가 높을 때는 대개 오디오 향상·이퀄라이저·마이크 효과 같은 효과 모듈이 원인이다. 실제 PC 에서 부모 서비스와 메모리, 출력 장치마다 끼어 있는 Realtek·Windows 효과 모듈을 레지스트리로 확인하고 원인을 좁히는 순서를 정리했다.

taskhostw.exe 는 무엇인가 — Windows 작업을 위한 호스트 프로세스와 backgroundTaskHost.exe, 어떤 작업인지 찾기

taskhostw.exe 는 작업 스케줄러가 DLL 형태의 예약 작업을 돌릴 때 쓰는 Windows 기본 그릇이고, backgroundTaskHost.exe 는 Store 앱의 백그라운드 작업을 잠깐 돌리는 그릇이다. 실제 PC 에서 taskhostw 두 개가 각각 어떤 예약 작업을 담고 있는지 시작 시각과 올라온 DLL 로 찾고, 종료할 때 뜨는 "끝내지 못하게 막고 있음" 화면의 의미를 정리했다.

0x80070643 업데이트 설치 오류 — 1603 "설치 중 치명적 오류"의 정체와 업데이트 기록 확인법

0x80070643 은 Win32 오류 1603 ERROR_INSTALL_FAILURE, 설치 프로그램이 치명적 오류로 멈췄다는 뜻 외에는 아무것도 말해 주지 않는 코드다. 복구 환경·Defender·.NET 업데이트에서 유명해진 사례를 공식 안내 기준으로 요약하고, Get-HotFix 와 Windows 업데이트 이벤트로 내 PC 업데이트 기록을 확인하며 실패 원인에 다가가는 순서를 정리했다.

StartMenuExperienceHost.exe 는 무엇인가 — ShellExperienceHost·TextInputHost·sihost 와 '일시 중단됨'의 정체

StartMenuExperienceHost.exe 는 시작 메뉴 화면을 그리는 Windows 기본 프로세스이고, ShellExperienceHost·TextInputHost·sihost 도 알림·입력 패널·셸 기반을 나눠 맡는 정상 프로세스다. 실제 PC 에서 경로와 서명, 부모, 메모리, 스레드 39개가 모두 멈춰 있던 '일시 중단됨' 상태를 확인하고 시작 메뉴가 안 열릴 때 볼 순서를 정리했다.

0x80070005 "액세스가 거부되었습니다" — 오류 코드 읽는 법과 어디서 막혔는지 찾기

0x80070005 는 Win32 오류 5번 ERROR_ACCESS_DENIED 를 HRESULT 로 감싼 값이다. 앞의 0x8007 이 "Win32 오류"라는 표시라서 다른 0x8007xxxx 코드도 같은 방법으로 풀린다. 내 PC 이벤트 로그에 실제로 남은 0x80070005 를 찾아 어느 작업이 어떤 권한에 막혔는지 따라가고, 업데이트·스토어·설치에서 볼 때 확인할 순서를 정리했다.

SearchHost.exe 와 SearchIndexer.exe 는 무엇인가 — 시작 메뉴 검색 창과 Windows Search 색인, CPU·디스크가 높을 때

SearchHost.exe 는 작업 표시줄·시작 메뉴의 검색 창을 그리는 앱이고, SearchIndexer.exe 는 Windows Search 서비스가 파일·메일 색인을 만드는 프로세스다. 이름은 비슷해도 하는 일이 다르다. 실제 PC 에서 SearchHost 와 그 뒤의 WebView2 6개, 그리고 '사용 안 함'으로 되어 있던 WSearch 서비스를 확인하고, 색인 중 CPU·디스크가 높을 때 볼 곳을 정리했다.

VCRUNTIME140.dll·MSVCP140.dll 이(가) 없어 코드 실행을 진행할 수 없습니다 — Visual C++ 재배포 패키지 확인과 x86·x64

VCRUNTIME140.dll·MSVCP140.dll 이 없다는 창은 Visual C++ 재배포 패키지(2015~2022 통합, 버전 14.x)가 없거나 비트가 맞지 않다는 뜻이다. 사본으로 같은 창을 띄워 보고, 레지스트리 VC\Runtimes 와 Uninstall 키로 설치 버전을 확인하는 법, x86·x64 를 둘 다 깔아야 하는 이유, DLL 다운로드 사이트를 피해야 하는 까닭을 정리했다.

explorer.exe(Windows 탐색기) CPU 높음·멈춤 — 작업 표시줄까지 맡는 셸, 다시 시작하는 법과 셸 확장 찾기

explorer.exe 는 파일 탐색기 창뿐 아니라 작업 표시줄과 바탕 화면까지 그리는 Windows 셸 프로세스다. 그래서 멈추면 화면 전체가 굳는다. 실제 PC 에서 explorer.exe 의 메모리·핸들·스레드와 자식 프로세스, 오른쪽 클릭 메뉴에 붙은 셸 확장 34개를 확인하고, 작업 관리자의 '다시 시작'과 원인 DLL 을 찾는 순서를 정리했다.