terminate called after throwing an instance of 'otl_tmpl_exception<otl_exc, otl_conn, otl_cur>'

mysql解决terminate called after throwing an instance of 'otl_tmpl_exception<otl_exc, otl_conn, otl_cur>'

    记录一个问题解决过程:

    近日发现,频繁调用基于gsoap编写的webservice接口,程序会偶尔卡死,且无错误日志输出,进程仍然存在初步判断为死锁导致,跟进分析代码后发现初始化mysql数据库连接的地方有较大嫌疑,用的是otlv4.h。

    去掉所有异常捕获的代码进行测试,程序崩溃并提示:

“terminate called after throwing an instance of 'otl_tmpl_exception<otl_exc, otl_conn, otl_cur>'
Aborted (core dumped)”

用gdb分析core文件指出异常的地方在rlogon()中:



搜了一下该错误描述后,问题根源直指数据库连接的第二个参数auto_commit,默认是0数据库事务不自动提交,修改代码设置为1后进行测试,问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值