启动程序后,我需要检索运行它的机器的本地(LAN)地址。我这样做的方法如下:
# $file[0] is path to file in bucket.
$firstFilePath = $file[0];
Storage::put(
storage_path($firstFilePath),
Storage::get($firstFilePath)
);
$getid3->analyze(storage_path($firstFilePath));
这项工作适用于90%的用户,但对于少数人来说,它最后一行崩溃了。 Idk该做什么,因为我测试了返回的迭代器,错误代码,并且我用try ... catch(...)块包含了整个代码。
我甚至无法处理异常,程序只是崩溃而且就是这样。 我正在使用Boost 1.64,但这个问题永远都会发生。
我没有注意到这种崩溃的任何模式,对于随机的各种硬件/软件/操作系统来说,它似乎都会崩溃。
我做错了吗?有没有人看到这个代码崩溃的原因?
答案 0 :(得分:0)
将endpointIter与默认构造端点进行比较是否正确? 在我的源代码中,我与默认构造的迭代器进行比较:
auto endpointIter = resolver.resolve(lanQuery, error);
decltype(endpointIter) end;
for(;endpointIter != end; ++endpointIter)
{
asio::udp::endpoint endpoint(*endpointIter);
...
}