mysql++ query.more_results()为true时,query.store_next()就崩掉了

Posted 生命不息,奋斗不止。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql++ query.more_results()为true时,query.store_next()就崩掉了相关的知识,希望对你有一定的参考价值。

记录暂时无法解决的崩溃问题:

正常运行时日志:

(gdb) p query
$5 = {<std::basic_ostream<char, std::char_traits<char> >> = {<No data fields>}, <mysqlpp::OptionalExceptions> = {
_vptr.OptionalExceptions = 0x9fb358, exceptions_ = true},
template_defaults = {<std::vector<mysqlpp::SQLTypeAdapter, std::allocator<mysqlpp::SQLTypeAdapter> >> = std::vector of length 0, capacity 0, parent_ = 0x7fffec65cce0, processing_ = false}, conn_ = 0x7fffed060318, copacetic_ = true,
parse_elems_ = std::vector of length 0, capacity 0, parsed_names_ = std::vector of length 0, capacity 0,
parsed_nums_ = std::map with 0 elements, sbuffer_ = <incomplete type>}
(gdb) p query.more_results()
$6 = false
(gdb) p query.store_next()
$7 = {<mysqlpp::ResultBase> = {<mysqlpp::OptionalExceptions> = {_vptr.OptionalExceptions = 0x9fb430, exceptions_ = true},
driver_ = 0x0, fields_ = std::vector of length 0, capacity 0, names_ = {counted_ = 0x0, refs_ = 0x0}, types_ = {
counted_ = 0x0, refs_ = 0x0},
current_field_ = 0}, <std::vector<mysqlpp::Row, std::allocator<mysqlpp::Row> >> = std::vector of length 0, capacity 0,
copacetic_ = false}

不正常运行日志:

(gdb) p query
$8 = {<std::basic_ostream<char, std::char_traits<char> >> = {<No data fields>}, <mysqlpp::OptionalExceptions> = {
_vptr.OptionalExceptions = 0x9fb358, exceptions_ = true},
template_defaults = {<std::vector<mysqlpp::SQLTypeAdapter, std::allocator<mysqlpp::SQLTypeAdapter> >> = std::vector of length 0, capacity 0, parent_ = 0x7fffeb080ce0, processing_ = false}, conn_ = 0x7fffeba84318, copacetic_ = true,
parse_elems_ = std::vector of length 0, capacity 0, parsed_names_ = std::vector of length 0, capacity 0,
parsed_nums_ = std::map with 0 elements, sbuffer_ = <incomplete type>}

(gdb) p query.more_results()
$9 = true
(gdb) p query.store_next()
The program being debugged entered a std::terminate call, most likely
caused by an unhandled C++ exception. GDB blocked this call in order
to prevent the program from being terminated, and has restored the
context to its original state before the call.
To change this behaviour use "set unwind-on-terminating-exception off".
Evaluation of the expression containing the function (mysqlpp::Query::store_next())
will be abandoned.

以上是关于mysql++ query.more_results()为true时,query.store_next()就崩掉了的主要内容,如果未能解决你的问题,请参考以下文章

mysql(设置/更改mysql密码,连接MySQL,MySQL常用命令,MySQL两种引擎区别)

MySQL教程

MySQL

MySQL

有什么学习MySQL的好教程吗?

MySql 详解