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

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  [67]  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12264정성태7/9/202028313오류 유형: 628. docker: Error response from daemon: Conflict. The container name "..." is already in use by container "...".
12261정성태7/9/202019503VS.NET IDE: 148. 윈도우 10에서 .NET Core 응용 프로그램을 리눅스 환경에서 실행하는 2가지 방법 - docker, WSL 2 [5]
12260정성태7/8/202017338.NET Framework: 926. C# - ETW를 이용한 ThreadPool 스레드 감시파일 다운로드1
12259정성태7/8/202016499오류 유형: 627. nvlddmkm.sys의 BAD_POOL_HEADER BSOD 문제 [1]
12258정성태7/8/202020339기타: 77. DataDog APM 간략 소개
12257정성태7/7/202016628.NET Framework: 925. C# - ETW를 이용한 Monitor Enter/Exit 감시파일 다운로드1
12256정성태7/7/202017795.NET Framework: 924. C# - Reflection으로 변경할 수 없는 readonly 정적 필드 [4]
12255정성태7/6/202018560.NET Framework: 923. C# - ETW(Event Tracing for Windows)를 이용한 Finalizer 실행 감시파일 다운로드1
12254정성태7/2/202017069오류 유형: 626. git - REMOTE HOST IDENTIFICATION HAS CHANGED!
12253정성태7/2/202019558.NET Framework: 922. C# - .NET ThreadPool의 Local/Global Queue파일 다운로드1
12252정성태7/2/202021329.NET Framework: 921. C# - I/O 스레드를 사용한 비동기 소켓 서버/클라이언트파일 다운로드2
12251정성태7/1/202020101.NET Framework: 920. C# - 파일의 비동기 처리 유무에 따른 스레드 상황 [1]파일 다운로드2
12250정성태6/30/202022275.NET Framework: 919. C# - 닷넷에서의 진정한 비동기 호출을 가능케 하는 I/O 스레드 사용법 [1]파일 다운로드1
12249정성태6/29/202017792오류 유형: 625. Microsoft SQL Server 2019 RC1 Setup - 설치 제거 시 Warning 26003 오류 발생
12248정성태6/29/202015614오류 유형: 624. SQL 서버 오류 - service-specific error code 17051
12247정성태6/29/202017501.NET Framework: 918. C# - 불린 형 상수를 반환값으로 포함하는 3항 연산자 사용 시 단축 표현 권장(IDE0075) [2]파일 다운로드1
12246정성태6/29/202018678.NET Framework: 917. C# - USB 관련 ETW(Event Tracing for Windows)를 이용한 키보드 입력을 감지하는 방법
12245정성태6/24/202019132.NET Framework: 916. C# - Task.Yield 사용법 (2) [2]파일 다운로드1
12244정성태6/24/202019103.NET Framework: 915. ETW(Event Tracing for Windows)를 이용한 닷넷 프로그램의 내부 이벤트 활용 [1]파일 다운로드1
12243정성태6/23/202015575VS.NET IDE: 147. Visual C++ 프로젝트 - .NET Core EXE를 "Debugger Type"으로 지원하는 기능 추가
12242정성태6/23/202017098오류 유형: 623. AADSTS90072 - User account '...' from identity provider 'live.com' does not exist in tenant 'Microsoft Services'
12241정성태6/23/202020254.NET Framework: 914. C# - Task.Yield 사용법파일 다운로드1
12240정성태6/23/202021812오류 유형: 622. 소켓 바인딩 시 "System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions" 오류 발생
12239정성태6/21/202019878Linux: 30. (윈도우라면 DLL에 속하는) .so 파일이 텍스트로 구성된 사례 [1]
12238정성태6/21/202018210.NET Framework: 913. C# - SharpDX + DXGI를 이용한 윈도우 화면 캡처 라이브러리
12237정성태6/20/202017772.NET Framework: 912. 리눅스 환경의 .NET Core에서 "test".IndexOf("\0")가 0을 반환
... 61  62  63  64  65  66  [67]  68  69  70  71  72  73  74  75  ...