首页 > 解决方案 > 函数中的gdb“无法访问地址处的内存”

问题描述

我正在创建一个 Web 服务器,但我遇到了一个功能问题。

函数的目标是执行带有参数的可执行文件。

有两个部分:

第一个是客户端发出请求时:

server.resource["^/exe$"]["GET"] = [this](std::shared_ptr<HttpServer::Response> response, std::shared_ptr<HttpServer::Request> request) {
    std::cout << request->path << " " << request->method << std::endl;

    auto query_fields = request->parse_query_string(); ///a std::unordered_multimap, it's the arguments of request with method get

    for (auto& field : query_fields)
        std::cout << field.first << ": " << field.second << std::endl;

    web.back_end( query_fields ); ////////////The function that bugs

        response->write("200 OK" );
}; //to execute the application

功能back_end

void website::back_end( std::unordered_multimap<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, SimpleWeb::CaseInsensitiveHash, SimpleWeb::CaseInsensitiveEqual> query_fields)
{
    /** to execute the extension s code **/

    int pos = find_json_str( query_fields.find("x")->second,query_fields.find("y")->second); ///The position 

    std::string type2 { "button" };//file_json[pos]["type"] };

    auto it = extension.find( type2 );

    if (it == extension.end())
        return;

    std::string name;

    #ifdef _WIN32 || _WIN64
        name = "exe_win";
    #elif __APPLE__ || __MACH__
        name = "exe_mac";
    #elif __linux__ || __unix || __unix__
        name = "exe_linux";
    #endif

    QStringList arguments;

    if (it->second["exe_argu"] == "auto") /////////////For the arguments
    {
        auto it2 = query_fields.find("position");

        if (it2 == query_fields.end())
            return;

        int position = std::stoi(it2->second);

        int i { 0 };
        std::string value = "args0"; 

        nlohmann::basic_json<>::iterator it3 = file_json[pos].find(value);

        while (it3 != file_json[pos].end())
        {

            arguments << QString::fromStdString( file_json[pos][value][position].get<std::string>() );

            i++;
            value = "args" + std::to_string(i);
            it3 = file_json[pos].find(value);
        }
    }

    std::string exe = "./extension/";
    exe +=  type2; /////////////////////// The problem is here !!!!
    exe += "/";  
    exe +=  it->second[name].get<std::string>(); ////////// And also her !!!!

    std::cout <<  exe  << std::endl;

    
    std::cout << "Program started" << std::endl;
    
    
    QProcess start_prog;
    start_prog.start( QString::fromStdString( exe ), arguments ); ///Start the executable

    start_prog.waitForFinished();
    std::cout << start_prog.readAllStandardOutput().toStdString() << std::endl;

    return;
    
}

当我运行这段代码时,我有Segmentation fault.

所以我正在用 gdb 查找错误,当他到达函数 back_end 时,我有这个错误:query_fields=std::unordered_multimap with 140737329604256 elements<error reading variable: Cannot access memory at address 0x78>)

但是程序并没有停止,他继续到这条线

 exe +=  type2;

如果我删除这条线,他会停在这条线(下一条):

 exe +=  it->second[name].get<std::string>();

而gdb什么也没说。

也是这一行:

    std::string type2 { "button" };//file_json[pos]["type"] };

如果我用这一行改变它:

    std::string type2 { file_json[pos]["type"] };

那阻止她。gdb 说:

Thread 6 "QThread" received signal SIGSEGV, Segmentation fault.
__GI___libc_free (mem=0x8000000000000000) at malloc.c:3102
3102    malloc.c: Aucun fichier ou dossier de ce type.

所以,在kiner_shah的要求下,我添加backtracewebsite::back_end(std::unordered_multimap<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, SimpleWeb::CaseInsensitiveHash, SimpleWeb::CaseInsensitiveEqual> query_fields)


#0  website::back_end(std::unordered_multimap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, SimpleWeb::CaseInsensitiveHash, SimpleWeb::CaseInsensitiveEqual, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >)Python Exception <class 'gdb.MemoryError'> Cannot access memory at address 0x9e377a31: 

    (this=0x7fffe371d350, query_fields=#1  0x00005555555f943a in server_pcphone::<lambda(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Response>, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Request>)>::operator()(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Response>, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Request>) const (__closure=0x55555586c3a0, response=warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response*, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::write(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&, std::function<void (std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response>, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Request>)>&)::{lambda(SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response*)#1}, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_deleter<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response*, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::write(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&, std::function<void (std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response>, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Request>)>&)::{lambda(SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response*)#1}, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'

std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response> (use count 2, weak count 1) = {...}, request=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Request*, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Request*, (__gnu_cxx::_Lock_policy)2>'

std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Request> (use count 2, weak count 0) = {...}) at server.cpp:66
#2  0x00005555555fbe10 in std::_Function_handler<void(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Response>, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Request>), server_pcphone::server_pcphone()::<lambda(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Response>, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Request>)> >::_M_invoke(const std::_Any_data &, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Response> &&, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp> >::Request> &&) (__functor=..., __args#0=..., __args#1=...)
    at /usr/include/c++/9/bits/std_function.h:300
#3  0x000055555561e009 in std::function<void (std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response>, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Request>)>::operator()(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response>, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Request>) const
    (this=0x55555586c3a0, __args#0=std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response> (empty) = {...}, __args#1=std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Request> (empty) = {...})
    at /usr/include/c++/9/bits/std_function.h:688
#4  0x00005555556184ef in SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::write(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&, std::function<void (std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Response>, std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Request>)>&) (this=0x7fffffffdc48, session=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session, std::allocator<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session, std::allocator<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session>, (__gnu_cxx::_Lock_policy)2>'

std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> (use count 2, weak count 0) = {...}, resource_function=...)
    at dependency/web-server/server_http.hpp:777
#5  0x0000555555611d68 in SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::find_resource(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&) (this=0x7fffffffdc48, session=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session, std::allocator<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session, std::allocator<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session>, (__gnu_cxx::_Lock_policy)2>'

std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> (use count 2, weak count 0) = {...}) at dependency/web-server/server_http.hpp:735
#6  0x000055555560de6c in SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}::operator()(std::error_code const&, unsigned long) const (this=0x7fffe371daf0, ec=..., bytes_transferred=322)
    at dependency/web-server/server_http.hpp:608
#7  0x0000555555623905 in asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>::operator()(std::error_code const&, unsigned long, int)
    (this=0x7fffe371dab0, ec=..., bytes_transferred=322, start=0)
    at pcp_ext/asio/include/asio/impl/read_until.hpp:1228
#8  0x0000555555661548 in asio::detail::binder2<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, std::error_code, unsigned long>::operator()()
    (this=0x7fffe371dab0) at pcp_ext/asio/include/asio/detail/bind_handler.hpp:181
#9  0x000055555565edab in asio::asio_handler_invoke<asio::detail::binder2<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, std::error_code, unsigned long> >(asio::detail::binder2<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, std::error_code, unsigned long>&, ...) (function=...)
    at pcp_ext/asio/include/asio/handler_invoke_hook.hpp:87
#10 0x000055555565ac56 in asio_handler_invoke_helpers::invoke<asio::detail::binder2<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_r--Type <RET> for more, q to quit, c to continue without paging--
ef<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, std::error_code, unsigned long>, {lambda(std::error_code const&, unsigned long)#1}>(asio::detail::binder2<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, std::error_code, unsigned long>&, {lambda(std::error_code const&, unsigned long)#1}&) (function=..., context=...)
    at pcp_ext/asio/include/asio/detail/handler_invoke_helpers.hpp:54
#11 0x0000555555653fd8 in asio::detail::asio_handler_invoke<asio::detail::binder2<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, std::error_code, unsigned long>, asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, {lambda(std::error_code const&, unsigned long)#1}>(asio::detail::binder2<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, std::error_code, unsigned long>&, asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, {lambda(std::error_code const&, unsigned long)#1}>*) (function=..., this_handler=0x7fffe371dab0) at pcp_ext/asio/include/asio/impl/read_until.hpp:1289
#12 0x000055555564d923 in asio_handler_invoke_helpers::invoke<asio::detail::binder2<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, std::error_code, unsigned long>, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>(asio::detail::binder2<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, std::error_code, unsigned long>&, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}&) (function=..., context=...)
    at pcp_ext/asio/include/asio/detail/handler_invoke_helpers.hpp:54
#13 0x0000555555647172 in asio::detail::handler_work<asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, asio::any_io_executor, void>::complete<asio::detail::binder2<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}, std::error_code, unsigned long> >(asio::detail::binder2<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}, std::error_code, unsigned long>&, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}&) (this=0x7fffe371da80, function=..., handler=...)
    at pcp_ext/asio/include/asio/detail/handler_work.hpp:500
#14 0x000055555563ff65 in asio::detail::reactive_socket_recv_op<asio::mutable_buffers_1, asio::detail::read_until_delim_string_op_v1<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor>, asio::basic_streambuf_ref<std::allocator<char> >, SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::read(std::shared_ptr<SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::Session> const&)::{lambda(std::error_code const&, unsigned long)#1}>, asio::any_io_executor>::do_complete(void*, asio::detail::scheduler_operation*, std::error_code const&, unsigned long)
    (owner=0x7fffd4003160, base=0x7fffd4003ba0)
    at pcp_ext/asio/include/asio/detail/reactive_socket_recv_op.hpp:144
#15 0x00005555555fe85e in asio::detail::scheduler_operation::complete(void*, std::error_code const&, unsigned long) (this=0x7fffd4003ba0, owner=0x7fffd4003160, ec=..., bytes_transferred=0)
    at pcp_ext/asio/include/asio/detail/scheduler_operation.hpp:39
#16 0x0000555555602fa2 in asio::detail::scheduler::do_run_one(asio::detail::conditionally_enabled_mutex::scoped_lock&, asio::detail::scheduler_thread_info&, std::error_code const&)
    (this=0x7fffd4003160, lock=..., this_thread=..., ec=...)
    at pcp_ext/asio/include/asio/detail/impl/scheduler.ipp:485
#17 0x000055555560287a in asio::detail::scheduler::run(std::error_code&) (this=0x7fffd4003160, ec=...)
    at pcp_ext/asio/include/asio/detail/impl/scheduler.ipp:203
#18 0x000055555560355c in asio::io_context::run() (this=0x7fffd4002f60)
    at pcp_ext/asio/include/asio/impl/io_context.ipp:62

#19 0x000055555560f497 in SimpleWeb::ServerBase<asio::basic_stream_socket<asio::ip::tcp, asio::any_io_executor> >::start(std::function<void (unsigned short)> const&) (this=0x7fffffffdc48, callback=...)
    at dependency/web-server/server_http.hpp:463
#20 0x00005555555fa5ba in server_pcphone::run() (this=0x7fffffffdc30) at server.cpp:127
#21 0x00007ffff6ccf9d2 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007ffff6bf7609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#23 0x00007ffff67d0293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

提前谢谢你,我真的迷路了:)

标签: c++pointersgdb

解决方案


推荐阅读