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

비밀번호

댓글 작성자
 




... 91  92  93  94  95  96  97  [98]  99  100  101  102  103  104  105  ...
NoWriterDateCnt.TitleFile(s)
11519정성태5/12/201822981개발 환경 구성: 376. ASP.NET Web Application 프로젝트의 FileSystem 배포(Publish) 시 Before/After Task 설정 방법 [1]
11518정성태5/10/201821232.NET Framework: 747. C# 7.0에서도 부분적으로 가능해진 "타입 추론을 통한 튜플의 변수명 자동 지정"
11517정성태5/10/201819535.NET Framework: 746. Azure runbook 예제 - 6시간 동안 수행 중인 VM을 중지 [1]파일 다운로드1
11516정성태5/9/201820312.NET Framework: 745. Azure runbook을 PowerShell 또는 C# 코드로 실행하는 방법파일 다운로드1
11515정성태5/9/201822875.NET Framework: 744. C# 6 - Expression bodied function [1]
11514정성태5/3/201820832오류 유형: 466. Bitvise - Error in component session/transport/kexHandler [2]
11513정성태5/3/201827694.NET Framework: 743. C# 언어의 공변성과 반공변성 [9]파일 다운로드2
11512정성태5/2/201819958개발 환경 구성: 375. Azure runbook 실행 시 "Errors", "All Logs"에 오류 메시지가 출력되는 경우
11511정성태5/2/201821559개발 환경 구성: 374. Azure - Runbook 기능 소개
11510정성태4/30/201822411.NET Framework: 742. windbg로 확인하는 Finalizer를 가진 객체의 GC 과정파일 다운로드1
11509정성태4/28/201820799.NET Framework: 741. windbg로 확인하는 객체의 GC 여부
11508정성태4/23/201822402개발 환경 구성: 373. MSBuild를 이용해 프로젝트 배포 후 결과물을 zip 파일로 압축하는 방법파일 다운로드1
11507정성태4/20/201823053개발 환경 구성: 372. MSBuild - 빌드 전/후, 배포 전/후 실행하고 싶은 Task 정의
11506정성태4/20/201827279.NET Framework: 740. C#에서 enum을 boxing 없이 int로 변환하기 - 두 번째 이야기 [7]파일 다운로드1
11505정성태4/19/201820047개발 환경 구성: 371. Azure Web App 확장 예제 - Simple WebSite Extension
11504정성태4/19/201821658오류 유형: 465. Azure Web App 확장 - Extplorer File manager 적용 시 오류
11503정성태4/19/201820687오류 유형: 464. PowerShell - Start-Service 명령 오류 (Service 'xxx' cannot be started)
11502정성태4/17/201822946개발 환경 구성: 370. Azure VM/App Services(Web Apps)에 Let's Encrypt 무료 인증서 적용 방법 [3]
11501정성태4/17/201820202개발 환경 구성: 369. New-AzureRmADServicePrincipal로 생성한 계정의 clientSecret, key 값을 구하는 방법파일 다운로드1
11500정성태4/17/201821177개발 환경 구성: 368. PowerShell로 접근하는 Azure의 Access control 보안과 Azure Active Directory의 계정 관리 서비스
11499정성태4/17/201819718개발 환경 구성: 367. Azure - New-AzureRmADServicePrincipal / New-AzureRmRoleAssignment 명령어
11498정성태4/17/201819834개발 환경 구성: 366. Azure Active Directory(Microsoft Enfra ID)의 사용자 유형 구분 - Guest/Member
11497정성태4/17/201817651개발 환경 구성: 365. Azure 리소스의 액세스 제어(Access control) 별로 사용자에게 권한을 할당하는 방법 [2]
11496정성태4/17/201818172개발 환경 구성: 364. Azure Portal에서 구독(Subscriptions) 메뉴가 보이지 않는 경우
11495정성태4/16/201820017개발 환경 구성: 363. Azure의 Access control 보안과 Azure Active Directory의 계정 관리 서비스
11494정성태4/16/201816351개발 환경 구성: 362. Azure Web Apps(App Services)에 사용자 DNS를 지정하는 방법
... 91  92  93  94  95  96  97  [98]  99  100  101  102  103  104  105  ...