2003-06-19 23:07:26

debug subversion 學 gdb

前幾天 Subversion 0.24.0 放出來, 結果我無法執行 export 命令. 在 irc 與 sussman 交談, 他完全沒有這種問題. 由於不太想把 repo 拿給別人測試, 所以就自己試著 debug. 學到了幾個指令, 趁著還記得時, 趕快寫下來, 以免下次還會用到.

1. gdb svn
2. break main
3. run export file://$SVN_ROOT/svn/trunk svn
4. break export.c:close_file
5. c
6. s
7. n
8. p *((struct file_baton*) file_baton)
9. p *((struct file_baton*) file_baton)->keywords_val

解說:

  1. 以 gdb 執行 svn
  2. 設定 main() 為中斷點
  3. export file://$SVN_ROOT/svn/trunk svn 為引數, 執行 svn.
  4. 設定 export.c 檔案裡的 close_file() 為中斷點.
  5. 執行, 直到遇到中斷點停下.
  6. 單步執行. 進入副函式.
  7. 單步執行. 不進入副函式.
  8. file_baton 為 void*. 強制以 (struct file_baton*) 來看內容.
  9. file_baton->keywords_val 的內容
由 plasma 於 2003-06-19 23:07:26 所發表
迴響
發表評論










請依上圖輸入檢核碼: