我的程序隨機調用回調函數時崩潰了Segmentation錯誤。當我分析核心時,回調函數地址是0x20202020。 程序以信號11結束,分段故障。程序崩潰時調用回調函數時出現段錯誤
#0 0x20202020 in ??()
(gdb) bt
#0 0x20202020 in ??()
#1 0xf775a8cf in my_function (parm_p=0x9b88020) at ../src/mewz.c:1395
(mqheader_p->mqh_callback)(mqheader_p->mqh_cbarg);
mqh_callback = 0x20202020,
mqh_cbarg = 0x20202020,
這是隨機發生的。 我知道0x20202020不是回調函數的有效地址,但爲什麼這個回調函數地址是隨機指向一個無效地址的。任何線索?
您需要使用您正在編寫程序的語言來標記此問題。 – chucksmash
mqheader_p變量未初始化或已被覆蓋,可能是由一些stringpointer值所覆蓋。 – wildplasser
代碼以「C」語言編寫。 (mqheader_p-> mqh_callback)是回調函數指針。 –