我試圖用gdb
來調試一個C程序,它一切正常,直到我將一個指針傳遞給一個函數(第三方庫),之後gdb
失去焦點並且程序運行時沒有在我的回調函數中擊中了我的斷點。使用gdb調試回調
例如我從libpcap
庫調用pcap_loop
庫,它需要一個指向我的回調函數got_packet
的指針。
pcap_loop(handle, num_packets, got_packet, NULL);
,只要我在或通過與gdb
我的破發點這條線在got_packet
步驟是從來沒有擊中。
爲什麼?
任何想法?
確定它確實被調用? – alk 2013-02-18 16:35:53
我同意alk。在'got_packet'本身設置一個斷點,看它是否真的被調用。 – 2013-02-18 16:46:56
你可能正在聽錯誤的接口,這就是爲什麼你沒有得到任何數據包.. – iabdalkader 2013-02-18 16:50:42