Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

탐색기에서 폴더 생성/삭제 시 몇 초 동안 멈추는 현상

희한한 현상이 발생하는 군요. ^^;

탐색기에서 폴더를 생성 및 삭제할때마다 이상하게 몇 초동안 explorer.exe 동작 자체가 멈춰버리는 현상이 발생합니다. 뭐가 문제일까 싶어서 현상이 발생하는 순간 덤프를 떠서 windbg로 분석해 보았는데요. ^^

우선, 모든 스레드의 콜 스택을 확인해 보았습니다.

0:107> ~*k

   0  Id: 1ff0.1fcc Suspend: 1 Teb: 00000000`0037f000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`000cf928 00007ff8`55d65334 USER32!NtUserWaitMessage+0x14
01 00000000`000cf930 00007ff8`55d1db39 SHELL32!CDesktopBrowser::_MessageLoop+0x74
02 00000000`000cf9d0 00007ff6`a624b4a4 SHELL32!SHDesktopMessageLoop+0x39
03 00000000`000cfa00 00007ff6`a62dde56 Explorer!wWinMain+0x6e0
04 00000000`000cfd20 00007ff8`57918102 Explorer!std::_Xout_of_range+0x33a
05 00000000`000cfdf0 00007ff8`585bc574 KERNEL32!BaseThreadInitThunk+0x22
06 00000000`000cfe20 00000000`00000000 ntdll!RtlUserThreadStart+0x34
    
...[생략]...

 106  Id: 1ff0.4230 Suspend: 1 Teb: 00000000`00200000 Unfrozen
 # Child-SP          RetAddr           Call Site
00 00000000`2713e218 00007ff8`54fea484 ntdll!NtCreateFile+0x14
01 00000000`2713e220 00007ff8`54fea156 KERNELBASE!CreateFileInternal+0x314
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Dropbox\Client\DropboxExt64.31.dll - 
02 00000000`2713e3a0 00007ff8`28d1d123 KERNELBASE!CreateFileW+0x66
03 00000000`2713e400 00007ff8`28d1d483 DropboxExt64_31!DllUnregisterServer+0xab3
04 00000000`2713e460 00007ff8`553b13fd DropboxExt64_31!DllUnregisterServer+0xe13
05 00000000`2713e4a0 00007ff8`552ea35e windows_storage!`CLauncherTelemetry::Instance'::`2'::`dynamic atexit destructor for 'wrapper''+0x54bd
...[생략]...
0b 00000000`2713ebd0 00007ff8`5520cfb1 windows_storage!CAutomaticDestinationList::RemoveDeletedItem+0xb0
0c 00000000`2713ec70 00007ff8`55cf3ae6 windows_storage!CAutomaticDestinationList::RemoveDeletedItems+0x161
...[생략]...
11 00000000`2713f180 00007ff8`551e003f windows_storage!CFileOperation::FinishOperations+0x76
12 00000000`2713f560 00007ff8`55efa7b2 windows_storage!CFileOperation::PerformOperations+0xdf
13 00000000`2713f5c0 00007ff8`55f07356 SHELL32!DeleteItemsInDataObject+0x106
14 00000000`2713f640 00007ff8`54e98fd0 SHELL32!DeleteItemsThreadProc+0xa6
15 00000000`2713f690 00007ff8`57918102 SHCORE!??$MakeAndInitialize@VCClosableStreamWrapper@@UIStream@@PEAU2@$$T@Details@WRL@Microsoft@@YAJPEAPEAUIStream@@$$QEAPEAU3@$$QEA$$T@Z+0x1c4
16 00000000`2713f780 00007ff8`585bc574 KERNEL32!BaseThreadInitThunk+0x22
17 00000000`2713f7b0 00000000`00000000 ntdll!RtlUserThreadStart+0x34

Delete를 했으니, 콜 스택에 삭제 관련 메서드를 포함한 스레드를 하나 발견할 수 있었고 상단에는 DropboxExt64_31.dll이 관여하고 있는 것을 볼 수 있습니다.

Sysinternals의 Autoruns를 이용해 탐색기에 추가된 Dropbox 제품의 플러그인을 제거하니 현상이 해결되었습니다.

그런데... 이렇게 해도 dropbox 제품의 동작에는 아무런 영향이 없었습니다. 단지, 탐색기에서 드롭박스의 폴더 동기화가 완료된 상태를 나타내기 위한 체크 모양의 아이콘만 나타나지 않을 뿐이었습니다. 음... 그렇군요. ^^ 지워도 상관없는 확장이어서 다행입니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/17/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 46  47  48  49  50  51  52  [53]  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
12299정성태8/27/202010671.NET Framework: 934. C# - ETW 관련 Win32 API 사용 예제 코드 (3) ETW Consumer 구현파일 다운로드1
12298정성태8/27/202010381오류 유형: 640. livekd - Could not resolve symbols for ntoskrnl.exe: MmPfnDatabase
12297정성태8/25/20209578개발 환경 구성: 503. SHA256 테스트 인증서 생성 방법
12296정성태8/24/202010047.NET Framework: 933. C# - ETW 관련 Win32 API 사용 예제 코드 (2) NT Kernel Logger파일 다운로드1
12295정성태8/24/20209425오류 유형: 639. Bitvise - Address is already in use; bind() in ListeningSocket::StartListening() failed: Windows error 10013: An attempt was made to access a socket ,,,
12293정성태8/24/202010752Windows: 171. "Administered port exclusions" 설명
12292정성태8/20/202011997.NET Framework: 932. C# - ETW 관련 Win32 API 사용 예제 코드 (1)파일 다운로드2
12291정성태8/15/202010946오류 유형: 638. error 1297: Device driver does not install on any devices, use primitive driver if this is intended.
12290정성태8/11/202011650.NET Framework: 931. C# - IP 주소에 따른 국가별 위치 확인 [8]파일 다운로드1
12289정성태8/6/20209127개발 환경 구성: 502. Portainer에 윈도우 컨테이너를 등록하는 방법
12288정성태8/5/20209106오류 유형: 637. WCF - The protocol 'net.tcp' does not have an implementation of HostedTransportConfiguration type registered.
12287정성태8/5/20209612오류 유형: 636. C# - libdl.so를 DllImport로 연결 시 docker container 내에서 System.DllNotFoundException 예외 발생
12286정성태8/5/202010482개발 환경 구성: 501. .NET Core 용 container 이미지 만들 때 unzip이 필요한 경우
12285정성태8/4/202010827오류 유형: 635. 윈도우 10 업데이트 - 0xc1900209 [2]
12284정성태8/4/202010214디버깅 기술: 169. Hyper-V의 VM에 대한 메모리 덤프를 뜨는 방법
12283정성태8/3/202010719디버깅 기술: 168. windbg - 필터 드라이버 확인하는 확장 명령어(!fltkd) [2]
12282정성태8/2/20209478디버깅 기술: 167. windbg 디버깅 사례: AppDomain 간의 static 변수 사용으로 인한 crash (2)
12281정성태8/2/202011973개발 환경 구성: 500. (PDB 연결이 없는) DLL의 소스 코드 디버깅을 dotPeek 도구로 해결하는 방법
12280정성태8/2/202011124오류 유형: 634. 오라클 (평생) 무료 클라우드 VM 생성 후 SSH 접속 시 키 오류 발생 [2]
12279정성태7/29/202011953개발 환경 구성: 499. 닷넷에서 접근해보는 InterSystems의 Cache 데이터베이스파일 다운로드1
12278정성태7/23/20209330VS.NET IDE: 149. ("Binary was not built with debug information" 상태로) 소스 코드 디버깅이 안되는 경우
12277정성태7/23/202010755개발 환경 구성: 498. DEVPATH 환경 변수의 사용 예 - .NET Reflector의 (PDB 연결이 없는) DLL의 소스 코드 디버깅
12276정성태7/23/20209975.NET Framework: 930. 개발자를 위한 닷넷 어셈블리 바인딩 - DEVPATH 환경 변수
12275정성태7/22/202012525개발 환경 구성: 497. 닷넷에서 접근해보는 InterSystems의 IRIS Data Platform 데이터베이스파일 다운로드1
12274정성태7/21/202011876개발 환경 구성: 496. Azure - Blob Storage Account의 Location 이전 방법 [1]파일 다운로드1
12273정성태7/18/202013507개발 환경 구성: 495. Azure - Location이 다른 웹/DB 서버의 경우 발생하는 성능 하락
... 46  47  48  49  50  51  52  [53]  54  55  56  57  58  59  60  ...