[問題] gdb backtrace

看板LinuxDev作者 (gigigigi)時間8年前 (2015/10/14 23:19), 編輯推噓2(206)
留言8則, 2人參與, 最新討論串1/1
我想在函數try_to_free_pages下中斷點追蹤一條path 的 backtrace , 可是 try_to_free_pages 函數有很多條 path 呼叫進來 , 有什麼技巧或是方法 可以只對某條path , break 後取得 backtrace 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.166.231 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1444835988.A.158.html

10/15 09:06, , 1F
反了吧,當你hit breakpoint時就是那條路啊
10/15 09:06, 1F

10/15 09:11, , 2F
我看懂了,那就用個全域變數,假設為HIT,加一點CODE。
10/15 09:11, 2F

10/15 09:11, , 3F
在你那條路的起始設成TRUE,然後在FREE裡檢查這個變數,
10/15 09:11, 3F

10/15 09:11, , 4F
若HIT為真再設定一個LOCAL變數假設為HIT_LOCAL為TRUE,
10/15 09:11, 4F

10/15 09:11, , 5F
你就MONITOR這個LOCAL變數再BREAK
10/15 09:11, 5F

10/15 09:12, , 6F
不過要是中間有其它地方呼叫FREE的話就不行了
10/15 09:12, 6F

10/15 15:24, , 7F
加上 if 判斷全域變數是否觸發
10/15 15:24, 7F

10/15 15:25, , 8F
中斷點埋在 if 裡面,感覺這樣可行
10/15 15:25, 8F
文章代碼(AID): #1M7dAK5O (LinuxDev)