glen_dai 发表于 2008-8-5 10:04:10

asynch_acceptor内存泄露的问题

WARNING: Visual Leak Detector detected memory leaks!
---------- Block 14186 at 0x01DACBD8: 4 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\asynch_io.cpp (1059): ACE_Handler::ACE_Handler
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (36): ACE_Asynch_Acceptor<ClientHandler>::ACE_Asynch_Acceptor<ClientHandler>
    f:\test\aceservertest\clientacceptor.cpp (8): ClientAcceptor::ClientAcceptor
    f:\test\aceservertest\main.cpp (21): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    00 00 00 00                                                ........ ........
---------- Block 14187 at 0x01DACC18: 8 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\refcounted_auto_ptr.inl (32): ACE_Refcounted_Auto_Ptr_Rep<ACE_Handler::Proxy,ACE_Thread_Mutex>::internal_create
    d:\vendor\ace_wrappers\ace\refcounted_auto_ptr.inl (42): ACE_Refcounted_Auto_Ptr_Rep<ACE_Handler::Proxy,ACE_Thread_Mutex>::create
    d:\vendor\ace_wrappers\ace\refcounted_auto_ptr.inl (152): ACE_Refcounted_Auto_Ptr<ACE_Handler::Proxy,ACE_Thread_Mutex>::reset
    d:\vendor\ace_wrappers\ace\asynch_io.cpp (1061): ACE_Handler::ACE_Handler
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (36): ACE_Asynch_Acceptor<ClientHandler>::ACE_Asynch_Acceptor<ClientHandler>
    f:\test\aceservertest\clientacceptor.cpp (8): ClientAcceptor::ClientAcceptor
    f:\test\aceservertest\main.cpp (21): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    D8 CB DA 01    04 00 00 00                                 ........ ........
---------- Block 14255 at 0x01DC2D18: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    98 B6 66 00    00 00 00 00    00 00 00 00    00 00 00 00   ..f..... ........
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    80 2D DC 01    00 00 00 00                                 .-...... ........
---------- Block 14256 at 0x01DC2D80: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    80 B6 66 00    01 00 00 00    40 00 00 00    40 00 00 00   ..f..... @...@...
    00 00 00 00    E8 2D DC 01    50 A5 6A 00    00 00 00 00   .....-.. P.j.....
    01 00 00 00    50 A5 6A 00                                 ....P.j. ........
---------- Block 14257 at 0x01DC2DE8: 64 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (369): ACE_Data_Block::ACE_Data_Block
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
---------- Block 14258 at 0x01DC2E68: 88 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\win32_asynch_io.cpp (2104): ACE_WIN32_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_io.cpp (659): ACE_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (230): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    20 01 00 C0    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    24 65 67 00    CC B0 66 00    18 CC DA 01   ....$eg. ..f.....
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    00 00 00 00    18 2D DC 01    68 17 00 00   ........ .-..h...
    F4 16 00 00    00 00 00 00    D8 64 67 00    00 00 00 00   ........ .dg.....
    C0 64 67 00    18 65 67 00                                 .dg..eg. ........
---------- Block 14259 at 0x01DC2F00: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    98 B6 66 00    00 00 00 00    00 00 00 00    00 00 00 00   ..f..... ........
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    68 2F DC 01    00 00 00 00                                 h/...... ........
---------- Block 14260 at 0x01DC2F68: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    80 B6 66 00    01 00 00 00    40 00 00 00    40 00 00 00   ..f..... @...@...
    00 00 00 00    D0 2F DC 01    50 A5 6A 00    00 00 00 00   ...../.. P.j.....
    01 00 00 00    50 A5 6A 00                                 ....P.j. ........
---------- Block 14261 at 0x01DC2FD0: 64 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (369): ACE_Data_Block::ACE_Data_Block
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
---------- Block 14262 at 0x01DC3050: 88 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\win32_asynch_io.cpp (2104): ACE_WIN32_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_io.cpp (659): ACE_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (230): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    20 01 00 C0    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    24 65 67 00    CC B0 66 00    18 CC DA 01   ....$eg. ..f.....
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    00 00 00 00    00 2F DC 01    68 17 00 00   ........ ./..h...
    EC 16 00 00    00 00 00 00    D8 64 67 00    00 00 00 00   ........ .dg.....
    C0 64 67 00    18 65 67 00                                 .dg..eg. ........
---------- Block 14263 at 0x01DC30E8: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    98 B6 66 00    00 00 00 00    00 00 00 00    00 00 00 00   ..f..... ........
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    50 31 DC 01    00 00 00 00                                 P1...... ........
---------- Block 14264 at 0x01DC3150: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    80 B6 66 00    01 00 00 00    40 00 00 00    40 00 00 00   ..f..... @...@...
    00 00 00 00    B8 31 DC 01    50 A5 6A 00    00 00 00 00   .....1.. P.j.....
    01 00 00 00    50 A5 6A 00                                 ....P.j. ........
---------- Block 14265 at 0x01DC31B8: 64 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (369): ACE_Data_Block::ACE_Data_Block
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
---------- Block 14266 at 0x01DC3238: 88 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\win32_asynch_io.cpp (2104): ACE_WIN32_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_io.cpp (659): ACE_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (230): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    20 01 00 C0    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    24 65 67 00    CC B0 66 00    18 CC DA 01   ....$eg. ..f.....
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    00 00 00 00    E8 30 DC 01    68 17 00 00   ........ .0..h...
    E8 16 00 00    00 00 00 00    D8 64 67 00    00 00 00 00   ........ .dg.....
    C0 64 67 00    18 65 67 00                                 .dg..eg. ........
---------- Block 14267 at 0x01DC32D0: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    98 B6 66 00    00 00 00 00    00 00 00 00    00 00 00 00   ..f..... ........
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    38 33 DC 01    00 00 00 00                                 83...... ........
---------- Block 14268 at 0x01DC3338: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    80 B6 66 00    01 00 00 00    40 00 00 00    40 00 00 00   ..f..... @...@...
    00 00 00 00    A0 33 DC 01    50 A5 6A 00    00 00 00 00   .....3.. P.j.....
    01 00 00 00    50 A5 6A 00                                 ....P.j. ........
---------- Block 14269 at 0x01DC33A0: 64 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (369): ACE_Data_Block::ACE_Data_Block
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
---------- Block 14270 at 0x01DC3420: 88 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\win32_asynch_io.cpp (2104): ACE_WIN32_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_io.cpp (659): ACE_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (230): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (162): ACE_Asynch_Acceptor<ClientHandler>::open
    f:\test\aceservertest\clientacceptor.cpp (26): ClientAcceptor::Start
    f:\test\aceservertest\main.cpp (24): ace_main_i
    f:\test\aceservertest\main.cpp (13): ACE_Main::run_i
    d:\vendor\ace_wrappers\ace\os_main.cpp (85): ACE_Main_Base::run
    f:\test\aceservertest\main.cpp (13): main
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (318): __tmainCRTStartup
    f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c (187): mainCRTStartup
    0x7C816FD7 (File and line number not available): RegisterWaitForInputIdle
Data:
    20 01 00 C0    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    24 65 67 00    CC B0 66 00    18 CC DA 01   ....$eg. ..f.....
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    00 00 00 00    D0 32 DC 01    68 17 00 00   ........ .2..h...
    E4 16 00 00    00 00 00 00    D8 64 67 00    00 00 00 00   ........ .dg.....
    C0 64 67 00    18 65 67 00                                 .dg..eg. ........

glen_dai 发表于 2008-8-5 10:04:30

---------- Block 15315 at 0x01DC34B8: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (342): ACE_Asynch_Acceptor<ClientHandler>::handle_accept
    d:\vendor\ace_wrappers\ace\win32_asynch_io.cpp (1953): ACE_WIN32_Asynch_Accept_Result::complete
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (647): ACE_WIN32_Proactor::application_specific_code
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (632): ACE_WIN32_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (557): ACE_WIN32_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\proactor.cpp (748): ACE_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\proactor.cpp (472): ACE_Proactor::proactor_run_event_loop
    f:\test\aceservertest\eventlooptask.cpp (12): EventLoopTask::svc
    d:\vendor\ace_wrappers\ace\task.cpp (271): ACE_Task_Base::svc_run
    d:\vendor\ace_wrappers\ace\thread_adapter.cpp (146): ACE_Thread_Adapter::invoke_i
    d:\vendor\ace_wrappers\ace\thread_adapter.cpp (95): ACE_Thread_Adapter::invoke
    d:\vendor\ace_wrappers\ace\base_thread_adapter.cpp (116): ace_thread_adapter
    f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c (348): _callthreadstartex
    f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c (331): _threadstartex
    0x7C80B683 (File and line number not available): GetModuleFileNameA
Data:
    98 B6 66 00    00 00 00 00    00 00 00 00    00 00 00 00   ..f..... ........
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    20 35 DC 01    00 00 00 00                                 .5...... ........

---------- Block 15316 at 0x01DC3520: 40 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (342): ACE_Asynch_Acceptor<ClientHandler>::handle_accept
    d:\vendor\ace_wrappers\ace\win32_asynch_io.cpp (1953): ACE_WIN32_Asynch_Accept_Result::complete
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (647): ACE_WIN32_Proactor::application_specific_code
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (632): ACE_WIN32_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (557): ACE_WIN32_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\proactor.cpp (748): ACE_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\proactor.cpp (472): ACE_Proactor::proactor_run_event_loop
    f:\test\aceservertest\eventlooptask.cpp (12): EventLoopTask::svc
    d:\vendor\ace_wrappers\ace\task.cpp (271): ACE_Task_Base::svc_run
    d:\vendor\ace_wrappers\ace\thread_adapter.cpp (146): ACE_Thread_Adapter::invoke_i
    d:\vendor\ace_wrappers\ace\thread_adapter.cpp (95): ACE_Thread_Adapter::invoke
    d:\vendor\ace_wrappers\ace\base_thread_adapter.cpp (116): ace_thread_adapter
    f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c (348): _callthreadstartex
    f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c (331): _threadstartex
    0x7C80B683 (File and line number not available): GetModuleFileNameA
Data:
    80 B6 66 00    01 00 00 00    40 00 00 00    40 00 00 00   ..f..... @...@...
    00 00 00 00    88 35 DC 01    50 A5 6A 00    00 00 00 00   .....5.. P.j.....
    01 00 00 00    50 A5 6A 00                                 ....P.j. ........

---------- Block 15317 at 0x01DC3588: 64 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newaopnt.cpp (15): operator new[]
    d:\vendor\ace_wrappers\ace\malloc_allocator.cpp (118): ACE_New_Allocator::malloc
    d:\vendor\ace_wrappers\ace\message_block.cpp (369): ACE_Data_Block::ACE_Data_Block
    d:\vendor\ace_wrappers\ace\message_block.cpp (737): ACE_Message_Block::init_i
    d:\vendor\ace_wrappers\ace\message_block.cpp (465): ACE_Message_Block::ACE_Message_Block
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (219): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (342): ACE_Asynch_Acceptor<ClientHandler>::handle_accept
    d:\vendor\ace_wrappers\ace\win32_asynch_io.cpp (1953): ACE_WIN32_Asynch_Accept_Result::complete
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (647): ACE_WIN32_Proactor::application_specific_code
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (632): ACE_WIN32_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (557): ACE_WIN32_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\proactor.cpp (748): ACE_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\proactor.cpp (472): ACE_Proactor::proactor_run_event_loop
    f:\test\aceservertest\eventlooptask.cpp (12): EventLoopTask::svc
    d:\vendor\ace_wrappers\ace\task.cpp (271): ACE_Task_Base::svc_run
    d:\vendor\ace_wrappers\ace\thread_adapter.cpp (146): ACE_Thread_Adapter::invoke_i
    d:\vendor\ace_wrappers\ace\thread_adapter.cpp (95): ACE_Thread_Adapter::invoke
    d:\vendor\ace_wrappers\ace\base_thread_adapter.cpp (116): ace_thread_adapter
    f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c (348): _callthreadstartex
    f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c (331): _threadstartex
    0x7C80B683 (File and line number not available): GetModuleFileNameA
Data:
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........
    CD CD CD CD    CD CD CD CD    CD CD CD CD    CD CD CD CD   ........ ........

---------- Block 15318 at 0x01DD46E8: 88 bytes ----------
Call Stack:
    f:\rtm\vctools\crt_bld\self_x86\crt\src\newopnt.cpp (18): operator new
    d:\vendor\ace_wrappers\ace\win32_asynch_io.cpp (2104): ACE_WIN32_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_io.cpp (659): ACE_Asynch_Accept::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (230): ACE_Asynch_Acceptor<ClientHandler>::accept
    d:\vendor\ace_wrappers\ace\asynch_acceptor.cpp (342): ACE_Asynch_Acceptor<ClientHandler>::handle_accept
    d:\vendor\ace_wrappers\ace\win32_asynch_io.cpp (1953): ACE_WIN32_Asynch_Accept_Result::complete
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (647): ACE_WIN32_Proactor::application_specific_code
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (632): ACE_WIN32_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\win32_proactor.cpp (557): ACE_WIN32_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\proactor.cpp (748): ACE_Proactor::handle_events
    d:\vendor\ace_wrappers\ace\proactor.cpp (472): ACE_Proactor::proactor_run_event_loop
    f:\test\aceservertest\eventlooptask.cpp (12): EventLoopTask::svc
    d:\vendor\ace_wrappers\ace\task.cpp (271): ACE_Task_Base::svc_run
    d:\vendor\ace_wrappers\ace\thread_adapter.cpp (146): ACE_Thread_Adapter::invoke_i
    d:\vendor\ace_wrappers\ace\thread_adapter.cpp (95): ACE_Thread_Adapter::invoke
    d:\vendor\ace_wrappers\ace\base_thread_adapter.cpp (116): ace_thread_adapter
    f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c (348): _callthreadstartex
    f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c (331): _threadstartex
    0x7C80B683 (File and line number not available): GetModuleFileNameA
Data:
    20 01 00 C0    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    24 65 67 00    CC B0 66 00    18 CC DA 01   ....$eg. ..f.....
    00 00 00 00    00 00 00 00    00 00 00 00    00 00 00 00   ........ ........
    00 00 00 00    00 00 00 00    B8 34 DC 01    68 17 00 00   ........ .4..h...
    F8 15 00 00    00 00 00 00    D8 64 67 00    00 00 00 00   ........ .dg.....
    C0 64 67 00    18 65 67 00                                 .dg..eg. ........

Visual Leak Detector detected 22 memory leaks.
Visual Leak Detector is now exiting.

glen_dai 发表于 2008-8-5 10:08:23

额。。。应该是我没处理好才有的memory leak吧。
两种情况下都是这样子:
1、服务器开启后没有客户端连接就退出
2、 服务器开启后n个客户端连接再退出

winston 发表于 2008-8-5 11:02:37

你看看哪里分配的对象,有没有即时清除。

glen_dai 发表于 2008-8-5 11:08:49

貌似都是asynch_acceptor   new出来的,我是用的内存池,一开始分配的内存,中间没有任何new的操作。

glen_dai 发表于 2008-8-5 11:25:57

好像不能上传附件,我想把整个工程传上来给大虾们分析分析~

winston 发表于 2008-8-5 13:55:05

内存池没最终清空吧?

glen_dai 发表于 2008-8-5 14:04:18

清空的,我跟踪看了~要是没清空的话不止泄露这些~

sevencat 发表于 2008-8-11 16:30:23

有办法解决,但不一定有必要。
页: [1]
查看完整版本: asynch_acceptor内存泄露的问题