2017-02-13 42 views
0

當我使用功能FREAD,該方案得到與__lll_unlock_wake_private得到SIGSEGV錯誤,gdb的消息如下:SIGSEGV在__lll_unlock_wake_private

(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作品?

回答

0

我想知道__lll_unlock_wake_private函數是如何工作的?

你可以看到它的來源here

但您獲得SIGSEGV的最可能原因是您調用freadNULL流參數。

如果執行下面的命令gdbframe 4list,你應該能夠看到調用點,看你傳遞到fread什麼樣的價值觀。

+0

非常感謝 – yefeng