[英]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.