LINUX下彙編的編譯,除錯命令

2021-04-01 09:51:57 字數 593 閱讀 4196

linux下彙編的編譯:

na** -f elf hello.a**    生成hello.o

ld  -o hello hello.o         生成可執行的elf格式檔案hello,通過./hello執行

如果輸入na** hello.a**,得到二進位制可執行檔案hello

linux下彙編的除錯:

除錯主要是用的ald(assembly language debugger)

ald hello                           載入要除錯的程式

disassemble -s .test    顯示被除錯程式的資訊。第一行是命令位址,第二行是機器碼,第三行是命令。

break  命令位址             設定斷點,程式執行到該位址停止,並顯示此時暫存器和標誌位的值

設定完斷點,用run命令執行程式,到斷點處停止。繼續執行到下乙個斷點,用continue,單步執行,用next。

退出ald,用quit,得到幫助資訊,用help.

windows下彙編編譯。

得到二進位制可執行檔案。

na** -f bin hello.a** hello.***

linux下用命令編譯 除錯C 程式

先安裝gcc sudo apt get install gcc寫乙個c 的程式,然後用下面的命令編譯 g test.cpp g當然你要找到你寫的那個cpp檔案的路徑。編譯後會產生乙個檔案 a.out,這就是編譯後的結果。在window中,這個檔案是a.exe。這個檔名也可以自己手動指定,如 g te...

彙編除錯命令

1.d dump 顯示指定記憶體單元內容 一般用來看資料數的內容,即ds段 格式 d 位址 從 位址 指定的記憶體單元顯示80h個位元組的內容,位址 預設時,顯示上1個d命令後面的80h個位元組的內容 注 在指令中用括起來的內容可預設 d位址範圍 指顯示指定範圍內的記憶體內容。例 d 100顯示從d...

linux 彙編 hello world 除錯

section data 初始化的變數 output ascii hello,world n 要列印的字串,data為初始化值的變數。output是標籤,指示字串開始的位置,ascii為資料型別 section bss 未初始化的變數,由0填充的緩衝區 lcomm num,20 lcomm為本地記憶...