当我使用函数fread时,程序在__lll_unlock_wake_private获取sigsegv时出错,gdb消息如下:
(gdb) bt
#0 0x00000000 in ?? ()
#1 0x009b77b6 in __lll_unlock_wake_private () from /lib/libc.so.6
#2 0x00931c3b in _L_unlock_134 () from /lib/libc.so.6
#3 0x00931bd8 in fread () from /lib/libc.so.6
#4 0x08049654 in init_global_list () at main.c:235
#5 0x0804b4e9 in init_prog () at main.c:1085
#6 0x0804c53f in main (argc=1, argv=0xf0) at main.c:1591 我想知道__lll_unlock_wake_private函数是如何工作的?
发布于 2017-02-13 11:44:10
我想知道__lll_unlock_wake_private函数是如何工作的?
你可以看到它的源here。
但获得流的最可能原因是您使用NULL流参数调用了fread。
如果您执行以下gdb命令:frame 4、list,您应该能够看到调用点,并看到您传递给fread的值。
https://stackoverflow.com/questions/42195675
复制相似问题