2011-11-04 4 views
0

사용자 인증 프로세스 중에 ADsGetObject 함수 호출을 수행하는 중입니다.이 함수 호출은 반환하는 데 최소 15 초가 걸립니다. 내 컴퓨터에는 거의 20 개의 그룹이 있습니다. 호출 스택은 아래와 같습니다. 지연 사유는 무엇입니까?ADsGetObject 함수가 반환 시간이 오래 걸림

00fcc230 77215ccc 7548179c 000005f9 00000000 ntdll!KiFastSystemCallRet 
00fcc234 7548179c 000005f9 00000000 00000000 ntdll!NtWaitForSingleObject+0xc 
00fcc2a0 7706efa3 000005f9 ffffffff 00000000 KERNELBASE!WaitForSingleObjectEx+0x98 
00fcc2b8 7682c1bf 000005f9 ffffffff 00000000 kernel32!WaitForSingleObjectExImplementation+0x75 
00fcc2d0 7682c179 00000000 ffffffff 000003e5 RPCRT4!UTIL_WaitForSyncIO+0x1c 
00fcc2ec 7682d488 00000000 00fcc30c 00000000 RPCRT4!UTIL_GetOverlappedResultEx+0x62 
00fcc314 7682c0f1 001978c0 0000005c 00238348 RPCRT4!NMP_SyncSendRecv+0xb6 
00fcc340 7682ce5d 00238228 0000005c 00fcc464 RPCRT4!OSF_CCONNECTION::TransSendReceive+0xc5 
00fcc3c4 7682cdc9 00197790 001a9478 0024e9a8 RPCRT4!OSF_CCONNECTION::SendFragment+0x295 
00fcc420 7682cb39 00000018 00000000 ffffffff RPCRT4!OSF_CCALL::SendNextFragment+0x302 
00fcc474 7682ca56 0024e9a8 00fcc50c 00fcc4b4 RPCRT4!OSF_CCALL::FastSendReceive+0x239 
00fcc494 7682c9df 00fcc4b4 00fcc50c 00fcc538 RPCRT4!OSF_CCALL::SendReceiveHelper+0x55 
00fcc4bc 7683c1fc 00238360 00fcc538 00fcc538 RPCRT4!OSF_CCALL::SendReceive+0x43 
00fcc4d0 7683c6cf 00fcc50c 74ab1c60 00000001 RPCRT4!I_RpcSendReceive+0x29 
00fcc4e4 7683c69d 00fcc538 002383a4 00fcc538 RPCRT4!NdrSendReceive+0x31 
00fcc4f4 76895744 7d52523d 00000000 00000000 RPCRT4!NdrpSendReceive+0xc 
00fcc90c 74ab5096 74ab1c60 74ab45de 00fcc92c RPCRT4!NdrClientCall2+0x1a6 
00fcc924 74ab4d7d 00000000 00000000 00000000 LOGONCLI!DsrGetDcNameEx2+0x19 
00fcc998 74ab4cc8 00000000 00000000 00000000 LOGONCLI!DsGetDcNameWithAccountW+0x17e 
00fcc9c0 69b49029 00000000 0024f560 00000000 LOGONCLI!DsGetDcNameW+0x20 
00fcc9fc 69b48f85 0024f560 00fcca30 00000000 adsnt!DsGetDcNameNTWrapper+0x5c 
00fcca3c 69b49207 0024f560 00000001 00fccf04 adsnt!WinNTGetCachedObject+0x26e 
00fcced0 69b4557e 0024f560 00fccf00 00fccf04 adsnt!WinNTGetCachedName+0x11a 
00fcd988 69b41ddd 00fcd9a0 00fcda48 00fcda38 adsnt!HeuristicGetObject+0x110 
00fcda14 69b41cc6 0022d67c 00fcda48 00fcda38 adsnt!GetObjectW+0x1a4 
00fcda64 69b41c77 001bb080 0022d67c 00fcdafc adsnt!CWinNTProvider::ResolvePathName+0x3e 
00fcda80 76e2cba7 00232a30 001bb080 0022d67c adsnt!CWinNTProvider::ParseDisplayName+0x26 
00fcdacc 76e2cad6 001bb080 0022d67c 00fcdafc ole32!FindClassMoniker+0x8b 
00fcdb04 6f1535c9 001bb080 0022d67c 00fcdb28 ole32!MkParseDisplayName+0xbb 
00fcdb3c 6f1534db 0022d67c 00aa2d68 00fcdb84 ACTIVEDS!GetObjectW+0x117 
00fcdb54 007d5ec7 0022d67c 00aa2d68 00fcdb84 ACTIVEDS!ADsGetObject+0x15 
+0

결국 그것은 효과가 있습니까? 문맥을 조금 더 줄 수 있습니까? – JPBlanc

+0

작동하지만 시간이 오래 걸립니다. – sarat

+0

더 많은 문맥을 제공 할 수 있습니까? 코드 라인, 클라이언트 컴퓨터의 선택. – JPBlanc

답변

0

너무 오래 걸리는 부분을 찾으려면 Process Monitor을 사용하십시오. 아마도 일종의 타임 아웃 일 겁니다. 이벤트 로그에 표시됩니다. 어쩌면 당신은 Mark with his slow logons과 같은 흥미로운 사례를 얻을 것입니다.)

+0

답변 해 주셔서 감사합니다.이 호출 스택이 작업을 차단하고 있습니다. 나는 Process Monitor에서도 같은 것을 얻을 것이라고 생각한다. 그러나 그러한 차단의 이유가 문제입니다. – sarat

+1

호출 스택뿐만 아니라 디스크, 레지스트리 및 장치 활동, 함수 호출 매개 변수 및 함수 결과를 얻을 수 있습니다. 허락하신다면, 어둠 속에서 쏜 것이지만 어쩌면 거기에서 뭔가를 발견 할 수도 있습니다. –

+0

도메인/사용자 이름이없는 경우가 많은 것으로 나타났습니다. 해당 사용자가 도메인에 없다는 오류를 반환하는 데 시간이 걸렸습니다! – sarat

관련 문제