首页
社区
课程
招聘
[原创]分析一个死锁问题
发表于: 2016-3-30 11:35 13911

[原创]分析一个死锁问题

2016-3-30 11:35
13911

很久没来看雪安发技术文章了,毕业之后就一直从事软件开发,至今6年,一直没换过工作。大家都说,要跳1-2槽之后,待遇就能提升。
一天,笔者的电脑有一个进程退不出。以笔者的经验来看,准是出现死锁了。

上windbg,加载好符号文件,查看下当前进程的所有线程,总共有11个线程。

这么多个线程,从哪里看起? 我个人经验先看下主线程,即0号线程。

查看0号线程:

0:000> kb

ChildEBP RetAddr  Args to Child              

0018e7cc 777b8e44 00000144 00000000 00000000 ntdll!NtWaitForSingleObject+0x15

0018e830 777b8d28 00000000 00000000 00000001 ntdll!RtlpWaitOnCriticalSection+0x13e

0018e858 777bc401 778820c0 78f87208 00000000 ntdll!RtlEnterCriticalSection+0x150

0018e9c4 777bc558 0018ea28 0018e9f0 00000000 ntdll!LdrpLoadDll+0x287

0018e9fc 757d2c95 0018e9f0 0018ea40 0018ea28 ntdll!LdrLoadDll+0xaa

WARNING: Stack unwind information not available. Following frames may be wrong.

0018ea38 756c4904 00000000 00000000 005be8a4 KERNELBASE!LoadLibraryExW+0x1f1

0018ea4c 75a04f50 759c5ee8 0018ea68 759f7e3d kernel32!LoadLibraryW+0x11

0018ea58 759f7e3d 005cda80 00613830 0018ea74 msctf!SysAllocString+0x19

0018ea68 759f8101 00613ab0 0018eb34 759ce8cd msctf!CLBarItemCtrl::GetTextOrTooltipString+0x2d

0018ea74 759ce8cd 005d4ecc 00613ab0 0018ee28 msctf!CLBarItemCtrl::GetTooltipString+0x13

0018eb34 759edd7d 005d5890 0000001e 006137b0 msctf!CLangBarItemMgr::GetItemsEx+0x1b4

0018ecb4 759ef11c 005e1e88 0000001e 0018ede8 msctf!CStubITfLangBarItemMgr_P::stub_GetItemsEx+0x265

0018ecc4 759fa9cc 00000010 0018ee28 f2577976 msctf!CStubITfLangBarItemMgr_P::Invoke+0x13

0018ede8 759d1ca3 0018ee28 00000000 005d4418 msctf!CCtfClientPort::ProcessMessage+0x619

0018eefc 759cf417 00000000 759a475f 00000000 msctf!CCtfClientPort::Receive+0x660

0018ef48 75b162fa 000b0534 0000c042 00000000 msctf!CicMarshalWndProc+0x3b5

0018ef74 75b16d3a 759a475f 000b0534 0000c042 user32!InternalCallWinProc+0x23

0018efec 75b20d27 00000000 759a475f 000b0534 user32!UserCallWinProcCheckWow+0x109

0018f024 75b2794a ffff0ab1 000b0534 0000c042 user32!CallWindowProcAorW+0xab

0018f044 732fbc49 ffff0ab1 000b0534 0000c042 user32!CallWindowProcA+0x1b

0018f0bc 75b162fa 000b0534 0000c042 00000000 mfc42!_AfxActivationWndProc+0x13f

0018f0e8 75b16d3a 732fbbd6 000b0534 0000c042 user32!InternalCallWinProc+0x23

0018f160 75b177c4 00000000 732fbbd6 000b0534 user32!UserCallWinProcCheckWow+0x109

0018f1c0 75b17bca 732fbbd6 00000001 0018f200 user32!DispatchMessageWorker+0x3bc

0018f1d0 73305448 00430ad4 00000001 0018f264 user32!DispatchMessageA+0xf

0018f1e0 7331ef51 00000004 0018f264 00000000 mfc42!CWinThread::PumpMessage+0x42

0018f200 73331aca 00000004 f24917a6 0000013c mfc42!CWnd::RunModalLoop+0xd6

0018f244 00412094 758708a9 000001bb 758b3ab1 mfc42!CDialog::DoModal+0x11e

0018f6fc 00000000 00000001 0277e0b3 000001bb SangforUD+0x12094

0号线程卡在kernel32!LoadLibraryW,临界区的锁。

0:000> !cs 778820c0

-----------------------------------------

Critical section   = 0x778820c0 (ntdll!LdrpLoaderLock+0x0)

DebugInfo          = 0x77884380

LOCKED

LockCount          = 0x4

WaiterWoken        = No

OwningThread       = 0x00001898

RecursionCount     = 0x1

LockSemaphore      = 0x144

SpinCount          = 0x00000000

0:000> ~~[0x00001898]

   8  Id: 1548.1898 Suspend: 0 Teb: 7ef90000 Unfrozen

      Start: msvcrt!_endthreadex+0x6f (758712e5)

      Priority: 0  Priority class: 32  Affinity: f

0号线程等待临界区ntdll!RtlEnterCriticalSection+0x150,而临界区被8号线程拥有。

切换到8号线程

  0:000> ~8s

eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=77026814 edi=00000000

eip=7779f8d1 esp=0491d8ec ebp=0491d950 iopl=0         nv up ei pl zr na pe nc

cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246

ntdll!NtWaitForSingleObject+0x15:

7779f8d1 83c404          add     esp,4

0:008> kb

ChildEBP RetAddr  Args to Child              

0491d8ec 777b8e44 0000031c 00000000 00000000 ntdll!NtWaitForSingleObject+0x15

0491d950 777b8d28 00000000 00000000 77028bd4 ntdll!RtlpWaitOnCriticalSection+0x13e

0491d978 76f25b6a 77026814 00000000 04c4e380 ntdll!RtlEnterCriticalSection+0x150

0491d990 76f25d77 76f29af4 0491d9b8 76f25cff ole32!CComCatalog::InitializeCatalogIfNeccessary+0x26

0491d99c 76f25cff 76f2556c 0491d9b4 00000000 ole32!GetCatalogHelper+0x12

0491d9b8 76f050b3 04c50b38 0491dc08 00000000 ole32!InitializeCatalogIfNecessary+0x32

0491d9dc 04c44285 04c4e380 0491dbf8 04c50b38 ole32!CLSIDFromProgID+0x8c

WARNING: Stack unwind information not available. Following frames may be wrong.

0491dc08 04c492d0 04c4e380 00000000 0491ddcc 1_SangforNsp!DllUnregisterServer+0x25f7

00000000 00000000 00000000 00000000 00000000 1_SangforNsp!SetInnerDnsIPAndSuffix+0x259

8号线程也在等待一把临界区锁

0:008> !cs 77026814

-----------------------------------------

Critical section   = 0x77026814 (ole32!g_catLock+0x0)

DebugInfo          = 0x005bfcf8

LOCKED

LockCount          = 0x1

WaiterWoken        = No

OwningThread       = 0x000019d0

RecursionCount     = 0x1

LockSemaphore      = 0x31C

SpinCount          = 0x00000000

0:008> ~~[0x000019d0]

   4  Id: 1548.19d0 Suspend: 0 Teb: 7ef9c000 Unfrozen

      Start: ntdll!TppWorkerThread (777d3e85)

      Priority: 0  Priority class: 32  Affinity: f

8号线程在等待4号线程

切换到4号线程

0:008> ~4s

eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=778820c0 edi=00000000

eip=7779f8d1 esp=0449f240 ebp=0449f2a4 iopl=0         nv up ei pl zr na pe nc

cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246

ntdll!NtWaitForSingleObject+0x15:

7779f8d1 83c404          add     esp,4

0:004> kb

ChildEBP RetAddr  Args to Child              

0449f240 777b8e44 00000144 00000000 00000000 ntdll!NtWaitForSingleObject+0x15

0449f2a4 777b8d28 00000000 00000000 777afaa4 ntdll!RtlpWaitOnCriticalSection+0x13e

0449f2cc 777afff3 778820c0 7ca96ff0 00000001 ntdll!RtlEnterCriticalSection+0x150

0449f43c 777afd4f 00000001 00000001 00000000 ntdll!LdrGetDllHandleEx+0x2f7

0449f458 757d1a35 00000001 00000000 0449f4c8 ntdll!LdrGetDllHandle+0x18

WARNING: Stack unwind information not available. Following frames may be wrong.

0449f4ac 757d1c49 0449f4c8 f6189930 00000000 KERNELBASE!GetModuleFileNameW+0x1a9

0449f924 757d1d44 00000001 00000002 76f25f90 KERNELBASE!GetModuleFileNameW+0x3bd

0449f93c 76f25f25 76f25f90 00000000 77028bd4 KERNELBASE!GetModuleHandleW+0x29

0449f954 76f25b87 76f255e0 77028bf0 00000000 ole32!GetRegCatalogObject+0x25

0449f978 76f25d77 00000000 0449f9a0 76f25cff ole32!CComCatalog::InitializeCatalogIfNeccessary+0x43

0449f984 76f25cff 76f2556c 0449f99c 76a0da3c ole32!GetCatalogHelper+0x12

0449f9a0 76f2ab70 76f2ee84 00000000 0449fa98 ole32!InitializeCatalogIfNecessary+0x32

0449f9b0 76f29f1e 76a0da3c 0449fa84 00000000 ole32!LookForConfiguredClsid+0x43

0449fa98 76f29e25 76a0da3c 00000000 00000017 ole32!ICoCreateInstanceEx+0x11c

0449faf8 76f29d86 76a0da3c 00000000 00000017 ole32!CComActivator::DoCreateInstance+0xd9

0449fb1c 76f29d3f 76a0da3c 00000000 00000017 ole32!CoCreateInstanceEx+0x38

0449fb4c 76a0d583 76a0da3c 00000000 00000017 ole32!CoCreateInstance+0x37

0449fbe4 769e6b06 00000000 00608fcc 00608fd0 wininet!InternetConfirmZoneCrossingA+0x9053

0449fc08 76a0da9b 00608fc4 00608fc8 00000000 wininet!GopherGetLocatorTypeA+0x52f6

0449fc30 76a0ce7f 005e4f00 00608fc4 00608fc8 wininet!InternetConfirmZoneCrossingA+0x956b

0449fcb8 76a1d986 0449fd04 0449fcd4 00608fc0 wininet!InternetConfirmZoneCrossingA+0x894f

0449fd0c 76a1dc7e 0449fd6c 0449fd40 0449fd78 wininet!InternetConfirmZoneCrossingA+0x19456

0449fd9c 769221fc 005d5cb0 00000000 005f0fa0 wininet!InternetConfirmZoneCrossingA+0x1974e

0449fdb4 777e9512 00610b28 7ca965e4 005e3fd8 wininet!DeleteUrlCacheEntryW+0x1142c

0449fe28 777d4429 00610b28 005f0fa0 7ca96444 ntdll!RtlpTpWorkCallback+0x11d

0449ff88 756c338a 005e3fd0 0449ffd4 777b9f72 ntdll!TppWorkerThread+0x572

0449ff94 777b9f72 005e3fd0 7ca96418 00000000 kernel32!BaseThreadInitThunk+0x12

0449ffd4 777b9f45 777d3e85 005e3fd0 00000000 ntdll!__RtlUserThreadStart+0x70

0449ffec 00000000 777d3e85 005e3fd0 00000000 ntdll!_RtlUserThreadStart+0x1b

4号线程也在等待一把锁

0:008> !cs 778820c0
-----------------------------------------
Critical section   = 0x778820c0 (ntdll!LdrpLoaderLock+0x0)
DebugInfo          = 0x77884380
LOCKED
LockCount          = 0x4
WaiterWoken        = No
OwningThread       = 0x00001898
RecursionCount     = 0x1
LockSemaphore      = 0x144
SpinCount          = 0x00000000

0:004> ~~[0x00001898]

   8 Id: 1548.1898 Suspend: 0 Teb: 7ef90000 Unfrozen

      Start: msvcrt!_endthreadex+0x6f (758712e5)

      Priority: 0  Priority class: 32  Affinity: f

0:008> lm vm 1_SangforNsp
start    end        module name
04c40000 04dad000   1_SangforNsp   (export symbols)       1_SangforNsp.dll
    Loaded symbol image file: 1_SangforNsp.dll
    Image path: C:\Program Files (x86)\Sangfor\VDI\ClientComponent\1_SangforNsp.dll
    Image name: 1_SangforNsp.dll
    Timestamp:        Fri Nov 08 11:04:01 2013 (527C54A1)
    CheckSum:         00178715
    ImageSize:        0016D000
    File version:     2.0.0.0
    Product version:  2.0.0.0
    File flags:       20 (Mask 3F) Special
    File OS:          4 Unknown Win32
    File type:        2.0 Dll
    File date:        00000000.00000000
    Translations:     0409.04b0
    CompanyName:      Sangfor
    ProductName:      SangforNsp Module
    InternalName:     SangforNsp
    OriginalFilename: SangforNsp.DLL
    ProductVersion:   2, 0, 0, 0
    FileVersion:      2, 0, 0, 0
    PrivateBuild:     2, 0, 0, 0
    SpecialBuild:     20100527
    FileDescription:  SangforNsp Module - VDI
    LegalCopyright:   Copyright 2009
    LegalTrademarks:  Copyright 2009
  
  
0:008> u 1_SangforNsp!SetInnerDnsIPAndSuffix+0x259
1_SangforNsp!SetInnerDnsIPAndSuffix+0x259:
04c492d0 8bd8            mov     ebx,eax
04c492d2 59              pop     ecx
04c492d3 3bdd            cmp     ebx,ebp
04c492d5 7458            je      1_SangforNsp!SetInnerDnsIPAndSuffix+0x2b8 (04c4932f)
04c492d7 56              push    esi
04c492d8 8b35a0b0c404    mov     esi,dword ptr [1_SangforNsp!SetInnerDnsIPAndSuffix+0x2029 (04c4b0a0)]
04c492de 57              push    edi
04c492df 68540ac504      push    offset 1_SangforNsp!SetInnerDnsIPAndSuffix+0x79dd (04c50a54)

IAD加载1_SangforNsp,选择手动加载,选择基址为04c40000

0:008> kb
ChildEBP RetAddr  Args to Child              
0491d8ec 777b8e44 0000031c 00000000 00000000 ntdll!NtWaitForSingleObject+0x15
0491d950 777b8d28 00000000 00000000 77028bd4 ntdll!RtlpWaitOnCriticalSection+0x13e
0491d978 76f25b6a 77026814 00000000 04c4e380 ntdll!RtlEnterCriticalSection+0x150
0491d990 76f25d77 76f29af4 0491d9b8 76f25cff ole32!CComCatalog::InitializeCatalogIfNeccessary+0x26
0491d99c 76f25cff 76f2556c 0491d9b4 00000000 ole32!GetCatalogHelper+0x12
0491d9b8 76f050b3 04c50b38 0491dc08 00000000 ole32!InitializeCatalogIfNecessary+0x32
0491d9dc 04c44285 04c4e380 0491dbf8 04c50b38 ole32!CLSIDFromProgID+0x8c
WARNING: Stack unwind information not available. Following frames may be wrong.
0491dc08 04c492d0 04c4e380 00000000 0491ddcc 1_SangforNsp!DllUnregisterServer+0x25f7
00000000 00000000 00000000 00000000 00000000 1_SangforNsp!SetInnerDnsIPAndSuffix+0x259

在IDA中找到调用CLSIDFromProgID的地方

0号线程调用LoadLibray,最后调用ntdll的LdrpLoadDll,等待LoaderLock这把锁。 (以下代码来自泄露版win2k)

        if ( LdrpInLdrInit == FALSE ) {
            RtlEnterCriticalSection((PRTL_CRITICAL_SECTION)NtCurrentPeb()->LoaderLock);
            }

而这把锁被8号线程拥有LoaderLock这把锁,同时也在等另外一把锁g_catLock。

IDA分析ole32.dll,找到CComCatalog::InitializeCatalogIfNeccessary函数。
HRESULT __thiscall CComCatalog::InitializeCatalogIfNeccessary(CComCatalog *this)
{
  CComCatalog *v1; // ebx@1
  void *v2; // eax@6
  CCache *v3; // eax@7
  void *v4; // eax@8
  CCache *v5; // eax@9
  void *v6; // eax@10
  CCache *v7; // eax@11
  void *v8; // eax@11
  CCache *v9; // eax@12
  HRESULT hr; // [sp+8h] [bp-4h]@1

  v1 = this;
  hr = 0;
  if ( !CComCatalog::ms_fInitialized )
  {
    EnterCriticalSection(&g_catLock);

这把锁g_catLock被4号线程拥有。4号线程也在等待8号线程的LoaderLock这把锁。4号线程和8号线程死锁了。

       (g_catLock) 4------------->8 (LoaderLock)
                           <-------------

  g_catLock这把锁恰恰是调用CLSIDFromProgID导致的,而LoaderLock刚好锁DllMain。
  
  

经验教训:
1、避免DllMain调用LoadLibray
2、假如无法避免,那么要确定DllMain调用的winapi有无副作用。

附录:

0:000> ~*kb

.  0  Id: 1548.98c Suspend: 0 Teb: 7efdd000 Unfrozen

ChildEBP RetAddr  Args to Child              

0018e7cc 777b8e44 00000144 00000000 00000000 ntdll!NtWaitForSingleObject+0x15

0018e830 777b8d28 00000000 00000000 00000001 ntdll!RtlpWaitOnCriticalSection+0x13e

0018e858 777bc401 778820c0 78f87208 00000000 ntdll!RtlEnterCriticalSection+0x150

0018e9c4 777bc558 0018ea28 0018e9f0 00000000 ntdll!LdrpLoadDll+0x287

0018e9fc 757d2c95 0018e9f0 0018ea40 0018ea28 ntdll!LdrLoadDll+0xaa

WARNING: Stack unwind information not available. Following frames may be wrong.

0018ea38 756c4904 00000000 00000000 005be8a4 KERNELBASE!LoadLibraryExW+0x1f1

0018ea4c 75a04f50 759c5ee8 0018ea68 759f7e3d kernel32!LoadLibraryW+0x11

0018ea58 759f7e3d 005cda80 00613830 0018ea74 msctf!SysAllocString+0x19

0018ea68 759f8101 00613ab0 0018eb34 759ce8cd msctf!CLBarItemCtrl::GetTextOrTooltipString+0x2d

0018ea74 759ce8cd 005d4ecc 00613ab0 0018ee28 msctf!CLBarItemCtrl::GetTooltipString+0x13

0018eb34 759edd7d 005d5890 0000001e 006137b0 msctf!CLangBarItemMgr::GetItemsEx+0x1b4

0018ecb4 759ef11c 005e1e88 0000001e 0018ede8 msctf!CStubITfLangBarItemMgr_P::stub_GetItemsEx+0x265

0018ecc4 759fa9cc 00000010 0018ee28 f2577976 msctf!CStubITfLangBarItemMgr_P::Invoke+0x13

0018ede8 759d1ca3 0018ee28 00000000 005d4418 msctf!CCtfClientPort::ProcessMessage+0x619

0018eefc 759cf417 00000000 759a475f 00000000 msctf!CCtfClientPort::Receive+0x660

0018ef48 75b162fa 000b0534 0000c042 00000000 msctf!CicMarshalWndProc+0x3b5

0018ef74 75b16d3a 759a475f 000b0534 0000c042 user32!InternalCallWinProc+0x23

0018efec 75b20d27 00000000 759a475f 000b0534 user32!UserCallWinProcCheckWow+0x109

0018f024 75b2794a ffff0ab1 000b0534 0000c042 user32!CallWindowProcAorW+0xab

0018f044 732fbc49 ffff0ab1 000b0534 0000c042 user32!CallWindowProcA+0x1b

0018f0bc 75b162fa 000b0534 0000c042 00000000 mfc42!_AfxActivationWndProc+0x13f

0018f0e8 75b16d3a 732fbbd6 000b0534 0000c042 user32!InternalCallWinProc+0x23

0018f160 75b177c4 00000000 732fbbd6 000b0534 user32!UserCallWinProcCheckWow+0x109

0018f1c0 75b17bca 732fbbd6 00000001 0018f200 user32!DispatchMessageWorker+0x3bc

0018f1d0 73305448 00430ad4 00000001 0018f264 user32!DispatchMessageA+0xf

0018f1e0 7331ef51 00000004 0018f264 00000000 mfc42!CWinThread::PumpMessage+0x42

0018f200 73331aca 00000004 f24917a6 0000013c mfc42!CWnd::RunModalLoop+0xd6

0018f244 00412094 758708a9 000001bb 758b3ab1 mfc42!CDialog::DoModal+0x11e

0018f6fc 00000000 00000001 0277e0b3 000001bb SangforUD+0x12094

   1  Id: 1548.172c Suspend: 0 Teb: 7efda000 Unfrozen

ChildEBP RetAddr  Args to Child              

02eefbc4 757d149d 000002c0 00000000 02eefc0c ntdll!NtWaitForSingleObject+0x15

WARNING: Stack unwind information not available. Following frames may be wrong.

02eefc30 756c1194 000002c0 0001d4c0 00000000 KERNELBASE!WaitForSingleObjectEx+0x98

02eefc48 756c1148 000002c0 0001d4c0 00000000 kernel32!WaitForSingleObjectEx+0x43

02eefc5c 0040d78a 000002c0 0001d4c0 0028b9e8 kernel32!WaitForSingleObject+0x12

02eefc6c 00402d12 0028b9e8 0001d4c0 0000025c SangforUD+0xd78a

02eefca4 00402e4c 02eefe0c 00000104 00426f84 SangforUD+0x2d12

02eefe00 00000000 00000000 555c3a43 73726573 SangforUD+0x2e4c

   2  Id: 1548.aa4 Suspend: 0 Teb: 7efd7000 Unfrozen

ChildEBP RetAddr  Args to Child              

0311fe60 757d149d 000000f0 00000000 0311fea8 ntdll!NtWaitForSingleObject+0x15

WARNING: Stack unwind information not available. Following frames may be wrong.

0311fecc 756c1194 000000f0 00001388 00000000 KERNELBASE!WaitForSingleObjectEx+0x98

0311fee4 756c1148 000000f0 00001388 00000000 kernel32!WaitForSingleObjectEx+0x43

0311fef8 004111d1 000000f0 00001388 00000000 kernel32!WaitForSingleObject+0x12

0311ff80 75871328 0311ff94 756c338a 0277e790 SangforUD+0x111d1

0311ff88 756c338a 0277e790 0311ffd4 777b9f72 msvcrt!_endthreadex+0xce

0311ff94 777b9f72 0277e790 7bf16418 00000000 kernel32!BaseThreadInitThunk+0x12

0311ffd4 777b9f45 758712e5 0277e790 00000000 ntdll!__RtlUserThreadStart+0x70

0311ffec 00000000 758712e5 0277e790 00000000 ntdll!_RtlUserThreadStart+0x1b

   3  Id: 1548.480 Suspend: 0 Teb: 7ef9f000 Unfrozen

ChildEBP RetAddr  Args to Child              

0321fdf4 777d2f91 0000000b 005e3dc8 00000001 ntdll!ZwWaitForMultipleObjects+0x15

0321ff88 756c338a 00000000 0321ffd4 777b9f72 ntdll!TppWaiterpThread+0x33d

WARNING: Stack unwind information not available. Following frames may be wrong.

0321ff94 777b9f72 005e3d98 7bc16418 00000000 kernel32!BaseThreadInitThunk+0x12

0321ffd4 777b9f45 777d2e65 005e3d98 00000000 ntdll!__RtlUserThreadStart+0x70

0321ffec 00000000 777d2e65 005e3d98 00000000 ntdll!_RtlUserThreadStart+0x1b

   4  Id: 1548.19d0 Suspend: 0 Teb: 7ef9c000 Unfrozen

ChildEBP RetAddr  Args to Child              

0449f240 777b8e44 00000144 00000000 00000000 ntdll!NtWaitForSingleObject+0x15

0449f2a4 777b8d28 00000000 00000000 777afaa4 ntdll!RtlpWaitOnCriticalSection+0x13e

0449f2cc 777afff3 778820c0 7ca96ff0 00000001 ntdll!RtlEnterCriticalSection+0x150

0449f43c 777afd4f 00000001 00000001 00000000 ntdll!LdrGetDllHandleEx+0x2f7

0449f458 757d1a35 00000001 00000000 0449f4c8 ntdll!LdrGetDllHandle+0x18

WARNING: Stack unwind information not available. Following frames may be wrong.

0449f4ac 757d1c49 0449f4c8 f6189930 00000000 KERNELBASE!GetModuleFileNameW+0x1a9

0449f924 757d1d44 00000001 00000002 76f25f90 KERNELBASE!GetModuleFileNameW+0x3bd

0449f93c 76f25f25 76f25f90 00000000 77028bd4 KERNELBASE!GetModuleHandleW+0x29

0449f954 76f25b87 76f255e0 77028bf0 00000000 ole32!GetRegCatalogObject+0x25

0449f978 76f25d77 00000000 0449f9a0 76f25cff ole32!CComCatalog::InitializeCatalogIfNeccessary+0x43

0449f984 76f25cff 76f2556c 0449f99c 76a0da3c ole32!GetCatalogHelper+0x12

0449f9a0 76f2ab70 76f2ee84 00000000 0449fa98 ole32!InitializeCatalogIfNecessary+0x32

0449f9b0 76f29f1e 76a0da3c 0449fa84 00000000 ole32!LookForConfiguredClsid+0x43

0449fa98 76f29e25 76a0da3c 00000000 00000017 ole32!ICoCreateInstanceEx+0x11c

0449faf8 76f29d86 76a0da3c 00000000 00000017 ole32!CComActivator::DoCreateInstance+0xd9

0449fb1c 76f29d3f 76a0da3c 00000000 00000017 ole32!CoCreateInstanceEx+0x38

0449fb4c 76a0d583 76a0da3c 00000000 00000017 ole32!CoCreateInstance+0x37

0449fbe4 769e6b06 00000000 00608fcc 00608fd0 wininet!InternetConfirmZoneCrossingA+0x9053

0449fc08 76a0da9b 00608fc4 00608fc8 00000000 wininet!GopherGetLocatorTypeA+0x52f6

0449fc30 76a0ce7f 005e4f00 00608fc4 00608fc8 wininet!InternetConfirmZoneCrossingA+0x956b

0449fcb8 76a1d986 0449fd04 0449fcd4 00608fc0 wininet!InternetConfirmZoneCrossingA+0x894f

0449fd0c 76a1dc7e 0449fd6c 0449fd40 0449fd78 wininet!InternetConfirmZoneCrossingA+0x19456

0449fd9c 769221fc 005d5cb0 00000000 005f0fa0 wininet!InternetConfirmZoneCrossingA+0x1974e

0449fdb4 777e9512 00610b28 7ca965e4 005e3fd8 wininet!DeleteUrlCacheEntryW+0x1142c

0449fe28 777d4429 00610b28 005f0fa0 7ca96444 ntdll!RtlpTpWorkCallback+0x11d

0449ff88 756c338a 005e3fd0 0449ffd4 777b9f72 ntdll!TppWorkerThread+0x572

0449ff94 777b9f72 005e3fd0 7ca96418 00000000 kernel32!BaseThreadInitThunk+0x12

0449ffd4 777b9f45 777d3e85 005e3fd0 00000000 ntdll!__RtlUserThreadStart+0x70

0449ffec 00000000 777d3e85 005e3fd0 00000000 ntdll!_RtlUserThreadStart+0x1b

   5  Id: 1548.15cc Suspend: 0 Teb: 7ef99000 Unfrozen

ChildEBP RetAddr  Args to Child              

0459fe28 777d3392 000001bc 0459fedc 7cb96444 ntdll!ZwWaitForWorkViaWorkerFactory+0x12

0459ff88 756c338a 005e2fd0 0459ffd4 777b9f72 ntdll!TppWorkerThread+0x216

WARNING: Stack unwind information not available. Following frames may be wrong.

0459ff94 777b9f72 005e2fd0 7cb96418 00000000 kernel32!BaseThreadInitThunk+0x12

0459ffd4 777b9f45 777d3e85 005e2fd0 00000000 ntdll!__RtlUserThreadStart+0x70

0459ffec 00000000 777d3e85 005e2fd0 00000000 ntdll!_RtlUserThreadStart+0x1b

   6  Id: 1548.1a44 Suspend: 0 Teb: 7ef96000 Unfrozen

ChildEBP RetAddr  Args to Child              

0469fe28 777d3392 000001bc 0469fedc 7c896444 ntdll!ZwWaitForWorkViaWorkerFactory+0x12

0469ff88 756c338a 005e2fd0 0469ffd4 777b9f72 ntdll!TppWorkerThread+0x216

WARNING: Stack unwind information not available. Following frames may be wrong.

0469ff94 777b9f72 005e2fd0 7c896418 00000000 kernel32!BaseThreadInitThunk+0x12

0469ffd4 777b9f45 777d3e85 005e2fd0 00000000 ntdll!__RtlUserThreadStart+0x70

0469ffec 00000000 777d3e85 005e2fd0 00000000 ntdll!_RtlUserThreadStart+0x1b

   7  Id: 1548.1684 Suspend: 0 Teb: 7ef93000 Unfrozen

ChildEBP RetAddr  Args to Child              

047dfe28 777d3392 000002b0 047dfedc 7c9d6444 ntdll!ZwWaitForWorkViaWorkerFactory+0x12

047dff88 756c338a 005ecb38 047dffd4 777b9f72 ntdll!TppWorkerThread+0x216

WARNING: Stack unwind information not available. Following frames may be wrong.

047dff94 777b9f72 005ecb38 7c9d6418 00000000 kernel32!BaseThreadInitThunk+0x12

047dffd4 777b9f45 777d3e85 005ecb38 00000000 ntdll!__RtlUserThreadStart+0x70

047dffec 00000000 777d3e85 005ecb38 00000000 ntdll!_RtlUserThreadStart+0x1b

   8  Id: 1548.1898 Suspend: 0 Teb: 7ef90000 Unfrozen

ChildEBP RetAddr  Args to Child              

0491d8ec 777b8e44 0000031c 00000000 00000000 ntdll!NtWaitForSingleObject+0x15

0491d950 777b8d28 00000000 00000000 77028bd4 ntdll!RtlpWaitOnCriticalSection+0x13e

0491d978 76f25b6a 77026814 00000000 04c4e380 ntdll!RtlEnterCriticalSection+0x150

0491d990 76f25d77 76f29af4 0491d9b8 76f25cff ole32!CComCatalog::InitializeCatalogIfNeccessary+0x26

0491d99c 76f25cff 76f2556c 0491d9b4 00000000 ole32!GetCatalogHelper+0x12

0491d9b8 76f050b3 04c50b38 0491dc08 00000000 ole32!InitializeCatalogIfNecessary+0x32

0491d9dc 04c44285 04c4e380 0491dbf8 04c50b38 ole32!CLSIDFromProgID+0x8c

WARNING: Stack unwind information not available. Following frames may be wrong.

0491dc08 04c492d0 04c4e380 00000000 0491ddcc 1_SangforNsp!DllUnregisterServer+0x25f7

00000000 00000000 00000000 00000000 00000000 1_SangforNsp!SetInnerDnsIPAndSuffix+0x259

   9  Id: 1548.f08 Suspend: 0 Teb: 7ef8d000 Unfrozen

ChildEBP RetAddr  Args to Child              

04a5fd78 777b8e44 00000144 00000000 00000000 ntdll!NtWaitForSingleObject+0x15

04a5fddc 777b8d28 00000000 00000000 04a5fe44 ntdll!RtlpWaitOnCriticalSection+0x13e

04a5fe04 777b02c9 778820c0 7c45656c 76a4fd68 ntdll!RtlEnterCriticalSection+0x150

04a5fea0 777b0202 770d0000 04a5fedc 00000000 ntdll!LdrGetProcedureAddressEx+0x159

04a5febc 757d1e4b 770d0000 04a5fedc 00000000 ntdll!LdrGetProcedureAddress+0x18

WARNING: Stack unwind information not available. Following frames may be wrong.

04a5fee4 768d3bae 770d0000 76a4fd68 005e2818 KERNELBASE!GetProcAddress+0x44

04a5ff4c 76923f59 76a4f1e0 76a68018 0000000e wininet!Ordinal417+0x3bae

04a5ff78 76a13de1 00000000 00000000 04a5ff94 wininet!InternetSetStatusCallbackW+0x2f9

04a5ff88 756c338a 005e2818 04a5ffd4 777b9f72 wininet!InternetConfirmZoneCrossingA+0xf8b1

04a5ff94 777b9f72 005e2818 7c456418 00000000 kernel32!BaseThreadInitThunk+0x12

04a5ffd4 777b9f45 76a13dd0 005e2818 00000000 ntdll!__RtlUserThreadStart+0x70

04a5ffec 00000000 76a13dd0 005e2818 00000000 ntdll!_RtlUserThreadStart+0x1b

  10  Id: 1548.9fc Suspend: 0 Teb: 7ef8a000 Unfrozen

ChildEBP RetAddr  Args to Child              

04c3fb94 777b8e44 00000144 00000000 00000000 ntdll!NtWaitForSingleObject+0x15

04c3fbf8 777b8d28 00000000 00000000 00000000 ntdll!RtlpWaitOnCriticalSection+0x13e

04c3fc20 777ba12d 778820c0 7c236778 7ef8a000 ntdll!RtlEnterCriticalSection+0x150

04c3fcb4 777b9ecc 04c3fd24 7c2366cc 00000000 ntdll!LdrpInitializeThread+0xc6

04c3fd00 777b9ef9 04c3fd24 77780000 00000000 ntdll!_LdrpInitialize+0x1ad

04c3fd10 00000000 04c3fd24 77780000 00000000 ntdll!LdrInitializeThunk+0x10


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 3
支持
分享
最新回复 (8)
雪    币: 47147
活跃值: (20420)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
跳槽确实是加薪捷径,但要控制频度。在一个地方长时间呆,也有优势,等你的经理跳槽走了,你就当经理;等你总监跳槽走了,你就当总监;等你CEO跳槽走了,你就当CEO了……
跳槽之前,发几篇精华文章,自然会有公司主动联系你或你应聘时主动提一下,这都是你谈薪水的资本。
2016-3-30 13:29
0
雪    币: 272
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
如果能对关键地方染色高亮就好了
2016-3-30 13:29
0
雪    币: 7
活跃值: (333)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
嗯。6年时间,工资是之前校招进来时候的几倍,但是还是比不上同等水平跳槽进来的待遇。
2016-3-30 14:42
0
雪    币: 47147
活跃值: (20420)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
5
可以同等比较一下。
薪水、职场方向等
发份简历我,我帮你引荐一下。
2016-3-30 14:53
0
雪    币: 7
活跃值: (333)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
6
我下午找个时间详细说明下,顺便高亮下。
2016-3-30 14:58
0
雪    币: 71
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
跳槽之前,发几篇精华文章,自然会有公司主动联系你或你应聘时主动提一下,这都是谈薪水的资本。
2016-3-30 15:05
0
雪    币: 576
活跃值: (1163)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
坛主论跳槽与工资 :)
2016-3-31 17:33
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
你这么分析锁不累?
!locks
!synblck
2017-5-30 19:39
0
游客
登录 | 注册 方可回帖
返回
//