我的问题是非常简单的:随着下的"高级计划选项"自由式詹金斯的项目,我可以选择两个配置选项,以帮助防止不同项目之间的冲突(当一个项目更新了一组头文件中可能出现的如而另一个项目是包括这些):
对于Pipeline或Multibranch项目,这些配置选项不可用,我(到目前为止没有成功)寻找一种方法来实现对Pipeline或Multibranch项目的相同效果.
我希望能得到一些关于调试我已经解决了两天的问题的见解。情况是这样的
libMyA.so
和libMyB.so
,它们是产品的一部分。libMyC.a
并且libMyD.a
libMyA.so
我libMyB.so
有单元测试,它们基本上是命令行可执行文件,它们调用共享对象导出的一些函数,blackboxA
并且blackboxB
.libMyB.so
使用由 导出的函数libMyA.so
。libMyA.so
在init函数中调用了几个函数libMyB.so
(只是生成了几个STL容器)。发生的事情是这样的:
blackboxA
运行顺利并通过所有测试。blackboxB
也通过了所有测试,但在终止时它会引发SIGSEGV
.gdb 告诉我,这种情况发生在对象析构函数内部SIGSEGV
的终结器执行期间:libMyB.so
std::basic_string<char>
#0 0x00007ffff74a0bc3 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1 0x00007ffff74a0c13 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2 0x00007ffff6b6cd1d in __cxa_finalize (d=0x7ffff7dd4d80) at cxa_finalize.c:56
#3 0x00007ffff7b1d7b6 in __do_global_dtors_aux () from ./libMinosCVC.so.3
#4 0x00007fffffffe3a0 in ?? ()
#5 0x00007fffffffe480 in ?? …
Run Code Online (Sandbox Code Playgroud)