為了除錯我的指標lct……我學會了如何使用gdb!
gcc -g main.c //在目標檔案加入源**的資訊
gdb a.out
(gdb) start //開始除錯
(gdb) n //一條一條執行
(gdb) step/s //執行下一條,如果函式進入函式
(gdb) backtrace/bt //檢視函式呼叫棧幀
(gdb) info/i locals //檢視當前棧幀區域性變數
(gdb) frame/f //選擇棧幀,再檢視區域性變數
(gdb) print/p //列印變數的值
(gdb) finish //執行到當前函式返回
(gdb) set var sum=0 //修改變數值
(gdb) list/l 行號或函式名 //列出原始碼
(gdb) display/undisplay sum //每次停下顯示變數的值/取消跟蹤
(gdb) break/b 行號或函式名 //設定斷點
(gdb) continue/c //連續執行
(gdb) info/i breakpoints //檢視已經設定的斷點
(gdb) delete breakpoints 2 //刪除某個斷點
(gdb) disable/enable breakpoints 3 //禁用/啟用某個斷點
(gdb) break 9 if sum != 0 //滿足條件才啟用斷點
(gdb) run/r //重新從程式開頭連續執行
(gdb) watch input[4] //設定觀察點
(gdb) info/i watchpoints //檢視設定的觀察點
(gdb) x/7b input //列印儲存器內容,b--每個位元組一組,7--7組
(gdb) disassemble //反彙編當前函式或指定函式
(gdb) si // 一條指令一條指令除錯 而 s 是一行一行**
(gdb) info registers // 顯示所有暫存器的當前值
(gdb) x/20 $esp //檢視記憶體中開始的20個數
常用的gdb命令
cd 改變當前工作目錄 run執行該程式 backtrace 顯示程式中的當前位置和表示如何到達當前位置的棧跟蹤 同義詞 where breakpoint 在程式中設定乙個斷點 commands 命中斷點時,列出將要執行的命令 continue 從斷點開始繼續執行 delete 刪除乙個斷點或監測點...
Vim最常用的命令
www.kaixinlc.com vi file 開啟檔案到最後一行 其它模式 普通模式 esci 在游標前插入 a 在游標後插入 o 在當前行之下新建行 r 替換當前字元 gg 檔案首行 g 檔案末行 x 剪下當前字元 dd 剪下當前行 yy 複製當前行 p 在游標後貼上 p 在游標前貼上 u 撤...
最常用的Linux命令
基礎命令 pwd 顯示當前目錄 ls 檢視當前目錄下的檔案 ls l 檢視詳細資訊 ls a 顯示隱藏檔案 ls lh h human 更加人性化地顯示檔案列表 ls 大小為位元組 cat 檢視檔案內容 more 慢慢檢視檔案,可以用空格和回車 mkdir 建立檔案 mv 把檔案移動到某個目錄 mk...