→ a3785lexx:歐對了,其實我爬文有爬到類似問題 12/06 02:01
→ a3785lexx:不過沒有看到解答...XDrz 12/06 02:02
推 anfranion:看起來頗像是你的記憶體沒有控制好 12/06 08:05
→ anfranion:像是你把local變數的位置存起來了之類的 12/06 08:05
→ anfranion:不然就是超過記憶體上限囉 ̄▽ ̄) 12/06 08:06
推 timrau:請使用debugger.... 12/06 09:42
→ timrau:不用設breakpoint,直接給他run下去就會停在死亡處了 12/06 09:44
推 dryman:如果你是用有history的iterator的話,小心會有mem fragment 12/06 09:51
推 whing1332:root是begin的話要小心喔 因為在adtp -r時他還是會-- 12/06 15:47
→ whing1332:雖然我不知道你的是不是這個問題啦 12/06 15:48
推 dryman:root應該不可以是begin吧..@ @ 12/06 16:02
→ dryman:我懂樓上的意思了XD 12/06 16:02
→ a3785lexx:感謝樓上各位強者的指導XD 12/07 20:05
→ a3785lexx:話說剛剛我把-g加回去要用DDD跑它 12/07 20:05
→ a3785lexx:結果發現用-g compile完的檔案,它怎麼也不出包...囧 12/07 20:06
→ a3785lexx:敢問這種情況我該如何是好......orz 12/07 20:06
推 timrau:看valgrind有沒有辦法救你... 12/07 20:38
→ a3785lexx:剛剛吃晚餐前鼓起勇氣把一次按順序加1000000個東西丟給 12/07 22:20
→ a3785lexx:DDD跑,結果就跑出最後我有pointer指去oxbffff11c 12/07 22:21
→ a3785lexx:於是寫一個小程式直接用pointer存取oxbffff11c 12/07 22:22
→ a3785lexx:果然直接掛了......這難道是原因嗎? 12/07 22:22
→ a3785lexx:另外感謝tim大...我正在玩valgrind XD 12/07 22:22
推 ric2k1:像 adt 這樣的 code, functions 之間常常是獨立的, 可以試 12/07 22:23
→ ric2k1:看 comment out 掉一些 code (divide and conquer) 12/07 22:25
→ a3785lexx:我重新寫了一下我的erase 12/08 00:52
→ a3785lexx:原本因為會一直去找successor的successor 12/08 00:52
→ a3785lexx:(如果被erase的目標的successor還有successor的話會去 12/08 00:53
→ a3785lexx:考慮的意思) 12/08 00:53
→ a3785lexx:可能這樣在資料先排整齊才塞進去的情況下深度太深了 12/08 00:53
→ a3785lexx:改成直接把successor的child接到他的parent上後 12/08 00:54
→ a3785lexx:暫時就不會這樣crash法了....... 12/08 00:54
→ a3785lexx:所以不知道是不是因為recursive call作太多次會出包呢? 12/08 00:54
→ a3785lexx:會有這種可能嗎?? 12/08 00:55
→ a3785lexx:因為我用valgrind得到的結果是:main thread stack 12/08 00:55
→ a3785lexx:over flow之類的.... 12/08 00:55
→ a3785lexx:不過我不太懂什麼是main thread stack.......XD 12/08 00:56
推 ric2k1:type the command "limit" under linux shell, you'll see 12/08 02:06
推 timrau:"limit" in csh/tcsh, or "ulimit" in bash 12/08 07:26