valgrind在thread_wrapper中挂起

时间:2016-01-22 15:46:35

标签: c multithreading valgrind

我正在尝试在valgrind 3.10.0中运行我的程序,但它似乎挂在 set_address_range_perms()中。我得到的最后一个输出是

--69447:1:aspacem  allocated thread stack at 0x803c7c000 size 1064960
--69447:1:syswrap- run_a_thread_NORETURN(tid=2): pre-thread_wrapper
--69447:1:syswrap- thread_wrapper(tid=2): entry

我知道如何缩小问题范围吗?

1 个答案:

答案 0 :(得分:0)

首先要尝试的是使用gdb + vgdb并连接到你挂起的程序:在另一个窗口中,启动gdb 然后在gdb中,做目标远程| vgdb 然后,您可以使用各种gdb命令来查看发生的情况,例如信息主题;线程适用于所有bt full; .... 看到 有关valgrind + gdb的更多信息,请http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver

如果valgrind gdbserver没有反应,那么你必须直接附加到valgrind,并调试valgrind内部。