日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gdb 调试 TuMediaService

發(fā)布時間:2023/12/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gdb 调试 TuMediaService 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

gdb 調(diào)試 TuMediaService

github地址

起因

  • 首先需要有 armgdb 環(huán)境
  • 運行 ./armgdb ./TuMediaService 進入 gdb 模式
  • b hi3531_trcod_interface.cc:98 打斷點
  • r 運行程序
  • print this->vdec_config_path_ 打印關(guān)鍵值

在這里我們關(guān)注的值已經(jīng)被修改,由于程序中沒有刻意對這一塊內(nèi)存進行修改,所以一開始懷疑是不是其他線程改寫的,當(dāng)把其他線程都禁掉,在單線程的情況下跑,還是存在這個問題.由于這邊是基類的最后一個變量,分析基類和派生類的代碼后,大致定位在這里:


問題可能出現(xiàn)在最后一行的數(shù)組,當(dāng)索引為負數(shù)才可能出現(xiàn)向前面內(nèi)存寫入的情況,而且多處地方給數(shù)組內(nèi)部賦值為 -1 ,和錯誤相符合,但是在所有地方都加了判斷和保護,打印出來也沒有異常,而且


進一步定位是在這里的 for 循環(huán)出了問題,執(zhí)行完 for 循環(huán),值發(fā)生了變化,剛開始以為是最后一次產(chǎn)生了問題,但是單步調(diào)試下,在 124 次,關(guān)注值發(fā)生了改變。查看了這個數(shù)組中的值是一個結(jié)構(gòu)體,會不會問題出現(xiàn)在這個結(jié)構(gòu)體,最后發(fā)現(xiàn)原來是有人更新了這個結(jié)構(gòu)體卻沒有上傳導(dǎo)致,數(shù)據(jù)結(jié)構(gòu)發(fā)生了變化,這個問題還是值得謹記的。以后要避免這類問題,庫和頭文件的上傳和下載盡量使用腳本,不要手動拷貝。

總結(jié)

以上是生活随笔為你收集整理的gdb 调试 TuMediaService的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。