mainCRTStartup()不调用main()

时间:2018-07-16 16:48:51

标签: windows windbg winsock

我运行了一个简单的winsock客户端,并将指令_asm int 3放在了WSAStartup之前。我在WS2_32!send处放置一个断点,然后在g处放置一个断点,然后看到以下调用跟踪(省略了一些部分):

ndis!NdisSendNetBufferLists

观察到00 ndis!NdisSendNetBufferLists ... 1b 80d8ff20 89617a1f ndis!ndisMiniportDpc+0xe2 1c 80d8ff48 82891f7e ndis!ndisInterruptDpc+0xaf 1d 80d8ffa4 82891de0 nt!KiExecuteAllDpcs+0xfa 1e 80d8fff4 8289157c nt!KiRetireDpcList+0xd5 1f 8c3704f4 828082af nt!KiDispatchInterrupt+0x2c 20 8c37050c 82808449 hal!HalpCheckForSoftwareInterrupt+0x83 21 8c370518 82894d91 hal!HalEndSystemInterrupt+0x67 22 8c370518 82840e8f nt!KeUpdateSystemTimeAssist+0x5d 23 8c3705c4 82b652bf nt!KeThawExecution+0x1c8 24 8c3705dc 828e64ae nt!KdExitDebugger+0x67 25 8c3705f4 82b65604 nt!KdpReport+0xd5 26 8c370620 828e4b7b nt!KdpTrap+0x102 27 8c370bc4 8286f932 nt!KiDispatchException+0x21e 28 8c370c2c 82870a3f nt!CommonDispatchException+0x4a 29 8c370c2c 766e6c1a nt!KiTrap03+0x263 2a 001efec0 00211bfe WS2_32!send+0x1 2b 001efed4 00211af1 client!__scrt_narrow_environment_policy::initialize_environment+0x2e [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78] 2c 001eff2c 0021199d client!_RTC_Shutdown+0x251 [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 283] 2d 001eff34 00211c68 client!_RTC_Shutdown+0xfd [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 326] 2e 001eff3c 777cefac client!mainCRTStartup+0x8 [f:\dd\vctools\crt\vcstartup\src\startup\exe_main.cpp @ 17] 2f 001eff48 77673628 kernel32!BaseThreadInitThunk+0xe 30 001eff88 776735fb ntdll!__RtlUserThreadStart+0x70 31 001effa0 00000000 ntdll!_RtlUserThreadStart+0x1b 没有呼叫client!mainCRTStartup。为什么?它不应该叫client!main吗?

其他信息:我在Virtual Windows 7x86上使用了内核调试。 Winsock客户端和服务器位于同一虚拟机(配置为使用Bridged)中,但是如果它们位于不同的计算机上,也会出现此问题。

0 个答案:

没有答案