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

비밀번호

댓글 작성자
 




... 166  167  168  [169]  170  171  172  173  174  175  176  177  178  179  180  ...
NoWriterDateCnt.TitleFile(s)
841정성태3/16/201028757.NET Framework: 174. 작업자 프로세스(w3wp.exe)가 재시작되는 시점을 알 수 있는 방법 [1]
840정성태3/4/201022059개발 환경 구성: 71. w3wp.exe에 환경 변수 전달하는 방법 [1]
836정성태2/13/201025488VS.NET IDE: 67. Visual Studio 2010: 베타 2에서 RC 마이그레이션
835정성태1/26/201026806.NET Framework: 173. WCF - webHttpBinding + IIS 6.0 윈도우 인증 구현 예제 [3]파일 다운로드1
834정성태1/25/201027312.NET Framework: 172. WCF - webHttpBinding 윈도우 인증 구현 예제 [3]파일 다운로드1
833정성태1/25/201026756.NET Framework: 171. WCF - webHttpBinding 구현 예제 [1]파일 다운로드1
832정성태1/25/201030403.NET Framework: 170. PerformanceCounter의 RawValue/NextValue()에서 멈춤 현상
831정성태1/14/201020185개발 환경 구성: 70. WSS - check out 메뉴에서 오류나는 문제
830정성태1/10/201024919개발 환경 구성: 69. Windows Internal Database
829정성태1/7/201024174개발 환경 구성: 68. ODP.NET + OraMTS 사용
828정성태1/7/201031938개발 환경 구성: 67. 환경 변수를 이용한 다중 ODAC 버전 테스트
827정성태1/4/201024255개발 환경 구성: 66. .NET 응용 프로그램에서 64비트 Oracle Data Access Components 사용 (2)
826정성태1/3/201031804기타: 28. 2009년 인기 순위 정리
825정성태1/3/201048556개발 환경 구성: 65. .NET 응용 프로그램에서 64비트 Oracle Data Access Components 사용 [5]
823정성태1/1/201025635개발 환경 구성: 64. ODP.NET 설치 작업 없이 ASP.NET 응용 프로그램 배포파일 다운로드1
822정성태1/1/201088180개발 환경 구성: 63. ODP.NET 설치 없이 .NET 클라이언트 프로그램 배포하는 방법 [6]파일 다운로드2
821정성태1/1/201050876개발 환경 구성: 62. .NET 응용 프로그램에서 Oracle XE 사용 [1]
820정성태12/29/200922382개발 환경 구성: 61. Oxite 소스 코드를 Visual Studio 2010으로 마이그레이션파일 다운로드1
818정성태12/27/200920962개발 환경 구성: 60. Cassini 서버를 localhost 이외의 주소에서 접근하도록 변경
817정성태12/21/200922560개발 환경 구성: 59. WebDev 2.0에서 실행하는 Pet Shop 4.0
816정성태12/19/200924251개발 환경 구성: 58. Pet Shop 4.0을 IIS 없이 실행하는 방법 [1]파일 다운로드1
815정성태12/18/200927097개발 환경 구성: 57. Pet Shop 4.0 - SQL Server Compact Edition Version - 두 번째 이야기파일 다운로드1
814정성태12/16/200922297오류 유형: 91. VS2010 beta2 - The application cannot start
812정성태12/11/200926157개발 환경 구성: 56. Pet Shop 4.0 - SQL Server Compact Edition Version파일 다운로드2
811정성태12/2/200939991.NET Framework: 169. [in, out] 배열을 C#에서 C/C++로 넘기는 방법 - 두 번째 이야기 [8]파일 다운로드2
810정성태12/1/200936156.NET Framework: 168. [in,out] 배열을 C#에서 C/C++로 넘기는 방법 [3]
... 166  167  168  [169]  170  171  172  173  174  175  176  177  178  179  180  ...