簡體   English   中英

ACE ACE_TP_Reactor崩潰

[英]ACE ACE_TP_Reactor crash

我正在嘗試開發一個使用ACE庫進行聯網的程序。 當我嘗試分配新的ACE_TP_Reactor時,它崩潰(程序構建成功,但是當它開始執行dll時引發未處理的異常)

ACE_Reactor_Impl* imp = 0;
imp = new ACE_TP_Reactor();

這是堆棧:

    GameServer.exe!WorldSocketMgr::StartNetwork(unsigned short port, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & address) Line 103   C++

ace.dll!ACE_TP_Reactor::ACE_TP_Reactor(ACE_Sig_Handler * sh, ACE_Abstract_Timer_Queue<ACE_Event_Handler *> * tq, bool mask_signals, int s_queue) Line 102   C++ <<new ACE_TP_REACTOR

ace.dll!ACE_Select_Reactor_T<ACE_Reactor_Token_T<ACE_Token> >::ACE_Select_Reactor_T<ACE_Reactor_Token_T<ACE_Token> >(ACE_Sig_Handler * sh, ACE_Abstract_Timer_Queue<ACE_Event_Handler *> * tq, int disable_notify_pipe, ACE_Reactor_Notify * notify, bool mask_signals, int s_queue) Line 485   C++

ace.dll!ACE_Select_Reactor_Impl::ACE_Select_Reactor_Impl(bool ms) Line 134  C++

[External Code] 

ace.dll!ACE_Handle_Set::ACE_Handle_Set() Line 95    C++

程序嘗試執行this->reset ();時崩潰this->reset (); 在哪

ACE_Handle_Set::ACE_Handle_Set (void)
{
this->reset ();
}

這是ace_handle_set上的堆棧值

 - this 0x00ed8e00 {size_=??? max_handle_=??? mask_={fd_count=??? fd_array=0x00ed8e0c {???, ???, ???, ???, ???, ...} } } ACE_Handle_Set * size_ <Unable to read memory> max_handle_ <Unable to read memory> + mask_ {fd_count=??? fd_array=0x00ed8e0c {???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ...} } fd_set 

編輯:問題是關於ace的所有類,例如,當我嘗試創建ACE_Select_Reactor,ACE_TP_Reactor等時,所有崩潰我認為這可能與DLL有關,但我使用了所有庫和dll。

謝謝你的幫助。

您沒有正確使用ACE Reactor,請查看《 ACE程序員指南》第7.7節,其中介紹了如何使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM