[問題] BMP讀取函式出現無法Call Stack的記憶씠…

看板C_and_CPP (C/C++)作者 (怪龍-卡西歐魯)時間14年前 (2011/10/08 04:16), 編輯推噓2(2017)
留言19則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 2008 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenGL 問題(Question): 我現在正在寫OpenGL的貼圖 http://codepad.org/TcCbVQGv 這裡是我的Bitmap讀取函式 上面宣告的幾個變數是檔案位置和裝貼圖用資料的structure 使用的時候就是在init function裡面寫下面這一行 textures[0].image = load_bitmap(texturefile[0], &bmpinfo_tmp); 但是在執行的時候卻出現memory violation錯誤 這是我以前沒有看過的錯誤類型 以前的memory violation用Call Stack就可以追回程式是哪裡出錯的 但是這次卻出現了一堆組語,Call stack也不能用 想請問一下像這種狀況該如何Debug呢? 還有我的bitmap loader是出了什麼問題導致一用就出錯呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.99.86.102

10/08 04:42, , 1F
幫測試,死在load_bitmap最後一個loop,應是位置算錯.
10/08 04:42, 1F

10/08 04:47, , 2F
手邊跑,size=0, (image沒new到), 再逐步trace吧。
10/08 04:47, 2F

10/08 04:51, , 3F
size=header.bfSize - header.bfOffBits; 改完正常跑.
10/08 04:51, 3F
感謝回應,已經有照著做修改了 另外也發現可能我載入的bitmap也有問題 這種寫法好像不能載入ACD SEE輸出的bmp檔... ※ 編輯: hcl012 來自: 68.99.86.102 (10/08 05:09) 抱歉想再請問一下另一個問題 如果把一張圖片讀進程式裡面後 有辦法用VC來監看texture[0].image裝進了什麼東西嗎? 我在Watch裡面打「&textures[0].image,500」只看到一堆bad pointer 但是texture貼出來的時候明明就有東西 只是顏色很奇怪...所以我才會想trace看看是怎麼回事 ※ 編輯: hcl012 來自: 68.99.86.102 (10/08 07:23) ※ 編輯: hcl012 來自: 68.99.86.102 (10/08 08:25)

10/08 14:12, , 4F
目前我找不到有IDE可以trace malloc/new 出來的記憶體,
10/08 14:12, 4F

10/08 14:13, , 5F
且只有部份 IDE 可以正常顯示 container (ex:vector)
10/08 14:13, 5F

10/08 14:13, , 6F
若 vc 下要監看, 建議直接開記憶體視窗出來看.
10/08 14:13, 6F

10/08 14:15, , 7F
http://ppt.cc/jojF , 參考看看.
10/08 14:15, 7F

10/08 14:16, , 8F
另外acd see 轉出之bmp讀不準,記得是它會亂塞東西進去,
10/08 14:16, 8F

10/08 14:16, , 9F
所以轉 bmp 軟體還是要經一些評估.自己再去觀查看看.
10/08 14:16, 9F

10/08 17:29, , 10F
從你的img struct來看, 要watch應該是看
10/08 17:29, 10F

10/08 17:30, , 11F
texture[0].image 就好, 不需要在前面加上 & 這個吧?
10/08 17:30, 11F

10/08 17:31, , 12F
另外, 顏色錯誤問題, 不曉得你的圖檔bpp/width為何, 有
10/08 17:31, 12F

10/08 17:32, , 13F
注意到BMP的alignment/padding的問題嗎?
10/08 17:32, 13F

10/08 17:34, , 14F
話說, GL tex upload的時候就可以幫你處理BGR/RGB的順
10/08 17:34, 14F

10/08 17:35, , 15F
序問題了:)
10/08 17:35, 15F

10/08 17:36, , 16F
說到軟體, 小弟覺得XnView不錯用, 又free功能也不少.XD
10/08 17:36, 16F

10/08 18:29, , 17F
V 大專業 !!
10/08 18:29, 17F

10/09 10:42, , 18F
感謝V大的回答,已經試著對BMP reader加以修正了
10/09 10:42, 18F

10/09 23:07, , 19F
小弟我什麼都不會, 只是經過的路人丙而已....XD
10/09 23:07, 19F
文章代碼(AID): #1EZrupBv (C_and_CPP)
文章代碼(AID): #1EZrupBv (C_and_CPP)