好怪的記憶體錯誤.. - Linux

Edith avatar
By Edith
at 2009-08-10T14:33

Table of Contents

我寫了一個程式,有使用到其他人寫得程式(FLUTE,網路上公開的免費程式)

不知道為甚麼,使用他跑一些資料比較小的東西還OK
如果資料大了反而會錯

然而我不覺得是他固定array大小的關係
因為資料量並沒有超過他設定的上限

我用gdb的結果


Program received signal SIGSEGV, Segmentation fault.
0x000000000043646c in flutes_MD (d=Cannot access memory at address
0x7fffea46ec38 ) at ./include/FLUTE/flute.c:809
809 Tree flutes_MD(DTYPE d, DTYPE xs[], DTYPE ys[], DTYPE s[], DTYPE acc)



上文有寫到d=Cannot access memroy at address....
後來我使用bt,查詢他上一行的資料
顯示d=p+1(此處p=9,故傳入時d應該為10)

不過有問題的地方在於,他的程式是call by value,亦即應該不會有上述的狀況
(有其他的case一樣p=9帶入並不會有問題,故應該不是value的關係)

我個人覺得應該是系統的關係
請問有沒有辦法強制一個程式執行的記憶體範圍呢?

感謝m(_ _)m

--
Tags: Linux

All Comments

Candice avatar
By Candice
at 2009-08-12T14:10
這種 error 不見得就是出現問題的那一行
Ivy avatar
By Ivy
at 2009-08-14T09:57
可試試 electric fence http://perens.com/FreeSoftware/
Isla avatar
By Isla
at 2009-08-15T02:11
推薦valgrind http://www.valgrind.org
Sandy avatar
By Sandy
at 2009-08-17T23:05
無須重新編譯程式 只需要執行 valgrind your_program

centOS底下無法開啟firefox

Poppy avatar
By Poppy
at 2009-08-10T11:17
剛剛再試一次的結果發現firefox並不是不會執行 而是大約半小時候畫面才出現 而且執行速度很慢 每一個動作的反應時間約10分鐘左右 請問大家有辦法知道firefox在running時做了哪些事情嗎?? - ...

突然讀不到硬碟

Ivy avatar
By Ivy
at 2009-08-10T06:56
各位板友, 我突然讀不到我枓USB外接硬碟了(Ubuntu9.04). (接上USB插槽, 不會自動mount) 以前還讀得到的, 今天突然讀不到了. 請問這會是甚模原因呢? 我試了dmesg|grep sdb 得到一大串資料(但大多重複)節錄一段如下: [ 215.180907] sd 7:0:0: ...

論壇

Poppy avatar
By Poppy
at 2009-08-10T05:22
hi all 在此有個問題想請教 我本身是使用 win xp 系統 我需要架設一個網站在 linux 系統下 於是我使用朋友的主機架設 想請問一下 有沒有朋友可以推薦適合在 linux 系統下可運行的論壇程式呢 之前使用 xoops and appserv 好像都不行 麻煩大家囉 順便告知一 ...

問sed的問題

Heather avatar
By Heather
at 2009-08-10T03:25
y※ 引述《allstarschh (allstars)》之銘言: : 1. 想用sed來改某directory 下的所有檔案 : 不過不確定 find如何跟 sed使用 : 例如 說 dir/下 把每個檔名的最後一個字元刪掉 : 像 : find -type f -exec sed and#39;/(.*) ...

誰能教我怎麼判斷主機板有沒有支援隨身 …

Mason avatar
By Mason
at 2009-08-10T01:18
※ [本文轉錄自 hardware 看板] 作者: nothinkmuch (回復) 看板: hardware 標題: [問題] 誰能教我怎麼判斷主機板有沒有支援隨身碟開機 時間: Mon Aug 10 01:17:21 2009 我的板子是這塊 GA-73PVM-S2H http://0rz.tw/ ...