VC调试boost::asio::async_send_to时候的一个问题(_Debug_message assert的异常)
2016-09-19 16:00
453 查看
最近遇到一个奇怪的问题,在VS2010中调试BOOST::ASIO的时候会出现如题说明的异常,在网上找了一圈,有个哥们以前遇到过 http://bbs.csdn.net/topics/360059975,但是没给出解决方案。下面也没有给出解决方案,只是说明了使用方法
代码中使用的是如下的语句:
socket_.async_send_to(
boost::asio::buffer( strSipHeader, strSipHeader.size() ), targetEndpoint_,
boost::bind( &TestSession::onSend, this, boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred) );
其中strSipHeader是一个函数内自动变量,类型为std::string
尝试使用各种方式,将boost::asio::buffer( strSipHeader, strSipHeader.size() )改为 boost::asio::buffer( strSipHeader )
也是出现异常。
后来无意中将strSipHeader改为char[]类型的局部变量,发现问题就不再出现了。
但是按照官方文档buffer传递过去确实可以是std::string类型。这就有点费解,由于能力有限,也没有去探究boost的底层实现。
姑且把这个问题及其方法放在这里
代码中使用的是如下的语句:
socket_.async_send_to(
boost::asio::buffer( strSipHeader, strSipHeader.size() ), targetEndpoint_,
boost::bind( &TestSession::onSend, this, boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred) );
其中strSipHeader是一个函数内自动变量,类型为std::string
尝试使用各种方式,将boost::asio::buffer( strSipHeader, strSipHeader.size() )改为 boost::asio::buffer( strSipHeader )
也是出现异常。
后来无意中将strSipHeader改为char[]类型的局部变量,发现问题就不再出现了。
但是按照官方文档buffer传递过去确实可以是std::string类型。这就有点费解,由于能力有限,也没有去探究boost的底层实现。
姑且把这个问题及其方法放在这里
相关文章推荐
- 解决vc++DEBUG ERROR问题前几天师弟调试程序的时候出现了这样一个错误,出错的位置是在delete [] 一个动态分配的数组时出现的。 经过调查发现错误是因为他之前在给数组赋值的时候越界了
- 调试message send to deallocated instance问题
- 用WH_MOUSE做hook时,用调试语句OutputDebugString打印调试信息的时候出现的一个问题
- coreavc filter在debug状态下运行会抛异常,很多解码器都面临这个问题,不方便调试,当然debug下性能等都会出现问题
- DEBUG和RELEASE 版本差异及调试相关问题(VS - VC++)
- tomacat环境中javabean调试中的一个小问题困扰了我一天---一叶障目不见泰山
- 当遇到一个异常的时候 异常提示不清楚 无法排除问题 可以点异常的e查看里面在值
- VC调试模式下does not contain debug information. Press OK to Continue
- VC++有源码调试中崩溃问题定位的一个好方法
- Re-installation failed due to different application signatures debug调试中的问题解决办法。
- boost asio async_write : how to not interleaving async_write calls?
- VC++中DEBUG的一个无法类型转化的问题
- 关于VC++调试过程中的leak internal to Visual Leak Detector问题
- 无法在Web服务器上启动调试."System.Net.DigestClient"的类型初始值设定项引发异常,Unable to debug System.Net.DigestClient throws an exception
- Boost asio async_accept memory leak问题分析
- 关于VC异常捕获的一个问题:
- boost的asio使用中的一个问题
- 请问一个问题:Debug下调试,出现NTDLL.DLL Initialization Fail
- VC_VC2010打开调试单个CPP文件的COUT时候不会出现press any key to continue
- 在使用Linq to SQL并序列化一个数据对象的时候报System.InvalidOperationException异常,序列化类型XXX的对象时检测到循环引用。