我有一个客户端应用程序能够连接到的 C++ 服务器,但在客户端连接后服务器崩溃。我通过注释掉它找到了导致它的代码并且它不再崩溃了。崩溃的部分是当它准备好读取时,我知道它不会超过这一点,因为它会在我从客户端发送消息之前崩溃。下面是读取的代码
try
{
Logger::Log("Client Listing for message!");
boost::asio::async_read(socket_,
boost::asio::buffer(readMsg_.Data(), Message::header),
boost::bind(&Client::HandleReadHeader, this,
boost::asio::placeholders::error));
}
catch (std::exception& e)
{
Logger::Log("Error: " + std::string(e.what()));
}
编辑: try-catch 语句没有捕获任何它只是崩溃的东西,所以我不确定出了什么问题
编辑*:我重新创建了 GUI 项目,女巫启动了这段代码,女巫是一个 dll。在我重新创建该项目后,除了解决方案中的不同项目外没有任何变化,它不再崩溃,但 throw-catch 语句现在捕获错误。
错误:网络连接被本地系统中止
不知道为什么它会中止