linux在當前目錄下新建文件須要的命令是mkdir 文件名linux
而後進入新建的文件的命令是cd 文件名 返回上一層是cd ..vim
新建一個c語言程序的過程是先打開vim 編譯器 ,而後寫完後進行輸入esc 輸入:w進行保存 再輸入:q進行退出而後進行編譯連接,主要的命令是gcc -c 文件名.c。編譯結束,而後gcc -o 文件名 文件名.o 連接結束。執行程序的主要命令是./文件名 便可編輯器
接下來要說的是進行查看彙編代碼函數
前期準備優化
cd 文件名ui
使用不帶編譯優化的編譯器
下面所指的文件名是建好的c語言文件it
gcc -O0 文件名.c -m32 -g -o 文件名編譯
反彙編gcc
objdump -S(必定注意大寫) 文件名>文件名.txt
用 vi編輯器打開便可看到反彙編的內容
第一步啓用gdb
具體操做 (gdb)文件名
第二步 設置斷點
具體操做 (gdb)break main(這是在main函數的地方設置的斷點)
另外一種方法:(gdb)break 文件名.c:行數(在某一行設置斷點)
第三步 運行程序
具體操做(gdb) run
第四步 執行一條指令
具體操做 (gdb)si(執行一條指令)s(執行一條語句)
第五步 查看定點寄存器的內容
具體操做(gdb)i r
第六步 查看指定的寄存器的內容
具體操做(gdb)i r esp ebp //esp棧頂寄存器 ebp 棧底寄存器
第七步 按字節顯示當前棧幀內容,觀察棧中數據
具體操做(gdb)x/yxb $esp //y=(ebp)-(esp)+4
第八步按4字節顯示當前棧幀內容,觀察棧中數據
具體操做(gdb)x/zxw $esp //z=((ebp)-(esp)+4)/4
第九步
退出:(gdb)quit