空指针对变量px的断言失败, 导致程序崩溃
发布时间
阅读量:
阅读量
问题描述:
编译过程顺利进行中没有报错信息显示停顿或错误提示。然而程序运行后出现了问题。起初感到手足无措是因为代码主要由我维护且功能模块不断增加导致难以记忆具体细节。随后通过查看最新的提交记录了解了大致情况但仍然容易忘记一些操作细节。随后专注于定位并修复了影响功能包的问题从而解决了当前的问题。
类别型名称boost::detail::sp_member_access中的类型boost::shared_ptr成员访问操作符->的常量实现[带有参数列表中的类型名"T" = 某某类;boost::detail::sp_member_access类型名"=" 某某类*]。
程序断言条件"px != 0"已失败检测。
核心崩溃
原因分析:
这个问题表现为空引异常现象,并表现为指针操作错误的具体情况。具体原因在于,在程序运行过程中未正确执行初始化操作以确保boost::shared_ptr变量处于有效状态
大概知道了这个原因,就看每个功能包用到的boost::shared_ptr的地方。
果然,在某某类的头文件中声明了
boost::shared_ptr<XX类> var = NULL;
在源文件中未使用boost::make_shared来初始化指针,而是直接采用了该空指针
全部评论 (0)
还没有任何评论哟~
