[問題] 關於get_first()

作者: k1923456 (龍泉之心)   2012-12-23 13:54:28
看了BTleafPage.h裡面的說明
get_first()這個函式似乎是把此page中
第一個record拿出來
但是我呼叫一次成功之後,接下來就segmentation fault
我有用printLeafPages確認leaf內確實有東西
但是仍舊會發生此問題
謝謝助教~
作者: nick0702 (言)   2012-12-23 14:18:00
訊息有點少第一次成功, 下次呼叫就 segmentation fault?中間有修改什麼東西嗎?
作者: k1923456 (龍泉之心)   2012-12-23 14:49:00
test1在測試insert的時候,會insert許多data進去我的作法是當free_space不足以放入新的record時就使用get_first(),把page內第一個record先拿出來看看所以我是在_insert()內,處理LEAF狀況的case內呼叫get_first(),所以我確定此leaf page內確實有record但是呼叫get_first仍會segmentation fault(不知道這樣有沒有回答到助教想知道的...)啊我剛剛好像解決了,似乎是傳進去的key沒有malloc(那為什麼第一次call會對....)
作者: nick0702 (言)   2012-12-23 15:42:00
恭喜你找到答案~ 應該是get_key_data使用memcpy ~!?
作者: k1923456 (龍泉之心)   2012-12-23 16:25:00
神奇

Links booklink

Contact Us: admin [ a t ] ucptt.com