看板 Programming 關於我們 聯絡資訊
BBB 是一個function pointer. 在gdb中直接去執行,不會發生core dump. 但一讓gdb繼續(continue)執行下去的話,就發生core dump了。 (ie. continue執行"if(1!=BBB(&u64Time))" 這一行就掛了) 請問有人知道這是何原因嗎? ... (gdb) f 0 #0 AAA (pData=0xffff047c) at AAA.c:61 61 if(1!=BBB(&u64Time)){ (gdb) p BBB(&u64Time) $9 = 1 (gdb) s Program received signal SIGSEGV, Segmentation fault. ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.66.129
LPH66:你把 p 的動作去掉再試試? 140.112.230.62 07/06 17:51
LPH66:(先猜一下 不然沒有原程式實在不知道怎麼辦) 140.112.230.62 07/06 17:51
UniversalLOG:p拿掉嗎?這不行拿掉,不然gdb不知要 1.160.128.211 07/06 21:19
UniversalLOG:要執行func.^_^ 1.160.128.211 07/06 21:19
UniversalLOG:還是您說去掉p BBB(&u64Time)這行? 1.160.128.211 07/06 21:20
UniversalLOG:若是這個意思,那還是一樣結果。 1.160.128.211 07/06 21:20
UniversalLOG:原程式很複雜,所以沒辦法把code放上 1.160.128.211 07/06 21:21
cgcheng:有辦法貼個片斷嗎? 59.115.22.203 07/10 02:55