luowuf 2017-04-16 05:15 采纳率: 0%
浏览 3265

iOS使用boost中的icmp实现ping出现异常

请问,icmp是否在ios平台下有权限问题,app里需要做什么配置,请大神解答一下

堆栈如下:

libc++abi.dylib: terminating with uncaught exception of type boost::exception_detail::clone_implboost::exception_detail::error_info_injector<boost::system::system_error >: open: Operation not permitted
libc++abi.dylib: terminating with uncaught exception of type boost::exception_detail::clone_implboost::exception_detail::error_info_injector<boost::system::system_error >: ******open: Operation not permitted******
(lldb) bt

  • thread #17, stop reason = signal SIGABRT frame #0: 0x0000000185de5014 libsystem_kernel.dylib__pthread_kill + 8 frame #1: 0x0000000185eaf334 libsystem_pthread.dylibpthread_kill + 112 frame #2: 0x0000000185d599c4 libsystem_c.dylibabort + 140 frame #3: 0x00000001858251b0 libc++abi.dylibabort_message + 132 frame #4: 0x000000018583ebec libc++abi.dylibdefault_terminate_handler() + 280 frame #5: 0x000000018584c830 libobjc.A.dylib_objc_terminate() + 140 frame #6: 0x000000018583b5d4 libc++abi.dylibstd::__terminate(void (*)()) + 16 frame #7: 0x000000018583aef8 libc++abi.dylib__cxa_throw + 136
    • frame #8: 0x00000001000e9c00 tracedacvoid boost::throw_exception<boost::system::system_error>(e=0x000000016e7a2198) at throw_exception.hpp:69 frame #9: 0x00000001000e9b10 tracedacboost::asio::detail::do_throw_error(err=0x000000016e7a2278, location="open") at throw_error.ipp:38 frame #10: 0x00000001000e9a98 tracedacboost::asio::detail::throw_error(err=0x000000016e7a2278, location="open") at throw_error.hpp:42 frame #11: 0x000000010013c5f4 tracedacboost::asio::basic_socket >::basic_socket(this=0x000000016e7a2ad8, io_service=0x000000016e7a2a90, protocol=0x000000016e7a2530) at basic_socket.hpp:92 frame #12: 0x000000010013c540 tracedacboost::asio::basic_raw_socket<boost::asio::ip::icmp, boost::asio::raw_socket_service<boost::asio::ip::icmp> >::basic_raw_socket(this=0x000000016e7a2ad8, io_service=0x000000016e7a2a90, protocol=0x000000016e7a2530) at basic_raw_socket.hpp:88 frame #13: 0x000000010013b448 tracedacboost::asio::basic_raw_socket >::basic_raw_socket(this=0x000000016e7a2ad8, io_service=0x000000016e7a2a90, protocol=0x000000016e7a2530) at basic_raw_socket.hpp:89 frame #14: 0x000000010013ae64 tracedacpinger::pinger(this=0x000000016e7a2a90, destination="61.135.169.121", times=5, time_out=5, data_len=65535) at ping.hpp:30 frame #15: 0x000000010013a89c tracedacpinger::pinger(this=0x000000016e7a2a90, destination="61.135.169.121", times=5, time_out=5, data_len=65535) at ping.hpp:32 frame #16: 0x000000010013a6b0 tracedacsnail::trace::ip::ip(this=0x0000000170284920, name="61.135.169.121", port=443) at trace_info.hpp:42 frame #17: 0x000000010013a474 tracedacsnail::trace::ip::ip(this=0x0000000170284920, name="61.135.169.121", port=443) at trace_info.hpp:36 frame #18: 0x00000001000e9204 tracedacsnail::trace::domain::create_ip(this=0x000000017410a320, name="61.135.169.121", port=443) at trace_info.hpp:200 frame #19: 0x0000000100139880 tracedacboost::_mfi::mf2, std::__1::allocator > const&, int>::operator(this=0x000000013fe2bc00, p=0x000000017410a320, a1="61.135.169.121", a2=443)(snail::trace::domain*, std::__1::basic_string, std::__1::allocator > const&, int) const at mem_fn_template.hpp:280 frame #20: 0x00000001001397d4 tracedacvoid boost::_bi::list3<boost::_bi::value<snail::trace::domain*>, boost::_bi::value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, boost::_bi::value<int> >::operator(this=0x000000013fe2bc10, (null)=type<void> @ 0x000000016e7a2e68, f=0x000000013fe2bc00, a=0x000000016e7a2ea0, (null)=0)<boost::_mfi::mf2<void, snail::trace::domain, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf2<void, snail::trace::domain, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int>&, boost::_bi::list0&, int) at bind.hpp:392 frame #21: 0x0000000100139734 tracedacboost::_bi::bind_t, std::__1::allocator > const&, int>, boost::_bi::list3boost::_bi::value<snail::trace::domain*, boost::_bi::value, std::__1::allocator > >, boost::_bi::value > >::operator(this=0x000000013fe2bc00)() at bind_template.hpp:20 frame #22: 0x00000001001394f8 tracedacboost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf2<void, snail::trace::domain, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int>, boost::_bi::list3<boost::_bi::value<snail::trace::domain*>, boost::_bi::value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, boost::_bi::value<int> > > >::run(this=0x000000013fe2ba00) at thread.hpp:116 frame #23: 0x00000001001c54f0 tracedacboost::(anonymous namespace)::thread_proxy(param=) at thread.cpp:168 [opt] frame #24: 0x0000000185ead75c libsystem_pthread.dylib_pthread_body + 240 frame #25: 0x0000000185ead66c libsystem_pthread.dylib_pthread_start + 284 frame #26: 0x0000000185eaad84 libsystem_pthread.dylib`thread_start + 4
  • 写回答

2条回答 默认 最新

  • devmiao 2017-04-16 07:26
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。
  • ¥15 stm32的can接口不能收发数据
  • ¥15 目标检测算法移植到arm开发板
  • ¥15 利用JD51设计温度报警系统