Linux環境基礎開發工具使用

普通模式跳行

    gg:回到文本的頭部

    G(shift+g):回到文本的最後一行

    [num]+G(shift+g):跳到任意行    gg=G

命令行模式下的操作

    :set nu : 設置行號

    :set nonu:取消行號

    :vs [filename] 同時打開多個文件  ctrl +ww 切換不同的文件

xshell 也有分屏的功能

/[要搜索的字符串]--> 按 enter , n(next): 向下去搜索

?[要搜索的字符串] :向上去搜索

:%s/要替換誰/替換成啥/g(區分是否替換行內所有出現的需要替換的單詞),加上%表示替換全文,不加表示替換光標所在的當前行

 

vim

    普通用戶的:用戶的家目錄下修改或者創建 .vimrc文件

    系統的:/etc/vimrc

    "inoremap<expr><CR> pumvisible()?"\<C-y>":"\<CR>"註釋掉

    set tabstop=4

    set softtabstop=4

    set shiftwidth=4

 

gcc/g++

    a.預處理階段

        宏替換,文件展開,去註釋

        gcc - E [源代碼文件] -o [name].i

    b.編譯:

        語法語義的檢測,並且生成彙編代碼

        gcc -S [name].i -o [name].s

    c.彙編:

        把彙編代碼生成機器可識別指令

        gcc -c [name].s -o [name].o

    d.鏈接

        靜態鏈接:-static 將所有的代碼包括標準庫的實現全部鏈接到可執行文件當中去;缺點:冗餘性大,編譯出來的文件特別大

        動態鏈接:在可執行文件當中只保存所需要使用的函數的符號,符號表。優點:可執行文件小,並且各個模塊處於解耦狀態。代碼的複用性高。

        file:查看文件屬性的

        ldd:查看可執行文件的動態鏈接屬性

 

gdb 調試器

    a.基礎 (事前)

        在編譯命令後面加 -g 選項,生成一個debug版本的可執行程序

 

        b(break):  b[行號]:在“行號”這一行打一個斷點

                        b[filename]:[行號] 在filename 這個文件的“行號”這一行去打一個斷點

        i b(info breakpoint):查看斷點信息

        disable[斷點編號]:使當前編號的斷點失效

        enable[斷點編號]:使當前編號的斷點生效

        r(run):讓程序跑起來

        n(next):逐過程的單步調試(F10)

        s(step):逐語句的單步調試(F11)

        p(print):打印變量的值

        i locals:打印當前作用域中的臨時變量的值

        c(continue):繼續執行

        display [變量名稱]:跟蹤變量的值

        bt:查看調用堆棧

        where:查看調用堆棧

        delete breakpoints [num]:刪除某個斷點

        delete breakpoints :刪除所有的斷點

        

        如果程序運行起來的時候  (事中)

        ps aux | grep [可執行程序名稱]===>進程號

        gdb -p [進程號] ==gdb attach [進程號]

 

        如果進行奔潰了 (事後)

        gdb 可執行程序 coredump 文件

        bt p i locals

 

        /r 是回車符

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章