testbed踩坑笔记:没有打桩惹的祸?
生成的测试函数运行或者多次运行后出现:
terminate called recursively
甚至:
gdb查看core文件后:
初步判断是资源没有释放彻底,而且和mutex lock有关。
于是在生成的测试代码的main函数中注掉第一个用例以后的所有用例,对生成的结果做上述测试,然后挨着一个一个放开,重复上述过程。
最终发现和某个函数initFdbusServer有关:发现CBaseWorker成员的start()函数被调用没有打桩,于是打桩。重复上述问题,发现没有上述问题了。看来问题就出在这里。稍后继续深入了解背后的原因。