mysql_close上的分段错误

时间:2017-04-13 17:40:20

标签: c++ mysql segmentation-fault runtime-error macos-sierra

在我的Mac上(Sierra 10.12.4)我在关闭MySQL数据库连接时遇到了C ++程序错误。

我收到的两条错误消息是

malloc: *** error for object 0x7fe1b2d81800: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug

Segmentation fault: 11

大部分时间都会发生其中一种情况,但事先无法确定何时或哪一种情况。

虽然第一个错误给出了可能发生的事情的一些指示,但我无法确定潜在的问题。 DB连接在程序开头附近设置两行

MYSQL* conn;
conn = mysql_init(NULL);

我在打电话

mysql_close(conn);

只在我的计划结束时一次。这是发生错误的地方。 连接本身工作正常。事实上,我正在关闭连接之前立即将一些日志数据写入数据库。

我也试过调试程序,但这本身就充满了问题。如果这个问题无法解决,我很乐意发布我尝试的内容。

请注意,错误仅在最近更新到10.12.4后才在我的Mac上启动。在此之前,相同的代码运行没有任何问题,并且它在Linux上编译并运行良好。

0 个答案:

没有答案