如何让gdb在通过check执行的代码中的断点处停止?

如何让gdb在通过check执行的代码中的断点处停止?,gdb,Gdb,如何让gdb在通过check执行的代码中的断点处停止 #include<check> int main(int argc, char **argv) { Suite *s = create_suite(); //create a test suite SRunner *sr = srunner_create(s); srunner_run_all(sr, CK_NORMAL); } #包括 int main(int argc,字符**argv) { Sui

如何让gdb在通过check执行的代码中的断点处停止

#include<check>
int main(int argc, char **argv)
{
    Suite *s = create_suite(); //create a test suite
    SRunner *sr = srunner_create(s);
    srunner_run_all(sr, CK_NORMAL); 
}
#包括
int main(int argc,字符**argv)
{
Suite*s=create_Suite();//创建一个测试套件
SRunner*sr=SRunner\u创建;
srunner\u run\u all(sr,CK\u NORMAL);
}
srunner\u run\u all(sr,CK\u NORMAL)
我的代码被执行。我可以在代码中设置断点(这是一个共享库,由于挂起了断点,所以没有问题)。加载共享库后,
info b
会正确打印断点。然而,gdb并没有在断点处停止


编辑:如果我在上面截取的代码中设置了一个断点,gdb就会停止。

使用
srunner\u run\u all(sr,CK\u NOFORK)成功了。Check为测试提供了一个新的流程,以便在测试程序不崩溃的情况下处理和报告seg故障等


更多详细信息请参见

如果设置hbreak的行为不同,您是否尝试过?您也可以使用gdb遵循forks(请参阅)