c++ - 函数中的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的要求下,我添加backtrace
了website::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
提前谢谢你,我真的迷路了:)
解决方案
推荐阅读
- java - JavaParser:如何从 MethodDeclaration 中检索所有 ParentNode 名称?
- azure - Visual Studio 2019 预览版中的逻辑应用和函数应用开发
- php - 我的 ajax 在循环调用 php 文件时花费了太多时间
- javascript - 如何在游戏循环中只检测一次碰撞而不是连续检测碰撞?
- image - Flutter Row:动态高度和垂直拉伸
- php - 简单的触发错误?!PL/SQL:ORA-00933:
- go - 使用 testcontainer-go 时遇到问题
- ruby-on-rails - 如何使用 ransak 过滤枚举
- architecture - 薄厚原生应用的“参考架构”指南
- php - 基本 Laravel 作业抛出:“不允许序列化‘闭包’”失败