linux核心載入可執行檔案

2021-07-01 22:15:38 字數 1047 閱讀 3453

使用gdb跟蹤分析乙個execve系統呼叫核心處理函式

sys_execve

,驗證您對linux系統

載入可執行程式所需處理過程的理解

登陸實驗樓虛擬機器

增加-s -s啟動引數開啟除錯模式

qemu -kernel ../linux-3.18.6/arch/x86/boot/bzimage -initrd ../rootfs.img -s -s
啟用 gbd 除錯模式:

gdb

file ../linux-3.18.6/vmlinux

target remote:1234

設定斷點:

b sys_execve

b do_execve

b do_execve_common

b exec_binprm

b load_elf_binary

b start_thread

除錯:

小結:裝載和啟動乙個可執行程式依次呼叫以下函式:sys_execve() -> do_execve() -> do_execve_common() -> exec_binprm() -> search_binary_handler() -> load_elf_binary() -> start_thread()

linux 執行可執行檔案

1 首先,需要了解一下a.out這個目標檔案。a.out在linux下是elf executable linkable format 檔案格式,該目標檔案由乙個檔案頭 段 資料段 已初始化 從定位資訊區 符號表及符號名字字串構成,如下左圖所示,經過鏈結後生成執行檔案如下右圖所示,需要說明的是1 bs...

Linux下執行可執行檔案

我們通常會為計算機配置環境變數 path,echo path 檢視當前的環境變數包含的目錄。這些目錄下的可執行檔案就無需輸入完整路徑來執行,直接輸入命令就行,我們shell中常使用的一些linux命令,例如man,cat等的目錄都被包含在該path目錄中,所以直接在shell中輸入這些命令就可以。即...

linux 查詢可執行檔案

linux下如何查詢可執行檔案,作為乙個linux小菜剛剛有了這個問題,在windows中,可以通過字尾名判斷是否是可執行檔案,比如.exe,bat等是可執行檔案,但是在linux下呢?linux下不能簡單根據檔案字尾判斷是否可執行。linux下判斷乙個檔案是否可執行,關鍵看是否有可執行許可權 比如...