久综合色-久综合网-玖草影视-玖草资源在线-亚洲黄色片子-亚洲黄色片在线观看

Hello! 歡迎來到小浪云!


linux工具—gdb調試~~進程


1.簡介gdb調試工具1.1程序發布版本

通常,程序發布有兩種版本:調試模式(debug)和發布模式(release)。在Linux中,使用gcc/g++編譯時,默認生成的是release模式。要使用gdb進行調試,必須在編譯時加入-g選項,以便生成debug模式的程序。

linux工具—gdb調試~~進程1.2前期準備

開始調試前,需要安裝gdb和搭建環境。gdb通常是系統自帶的,可以通過gdb –version命令檢查其是否存在及版本信息。

環境準備包括準備一個可用的源文件,這里以mycode.c為例,其生成的程序將標記為mycode。

以下是一個簡單的c語言代碼示例,作為mycode.c的內容:

linux工具—gdb調試~~進程在編譯時,-g選項表示生成的是調試版本,Makefile文件的其他內容保持不變。

linux工具—gdb調試~~進程1.3調試的開始與結束

啟動gdb調試只需在gdb命令后加上當前目錄下的生成文件名。看到gdb提示符(gdb)和閃爍的光標,即可輸入調試命令。

輸入q并按下回車鍵,即可結束調試過程。

linux工具—gdb調試~~進程1.4調試相關命令1.4.1設置斷點

linux工具—gdb調試~~進程這里的7和8表示程序的第7行和第8行設置斷點。

1.4.2單步執行

linux工具—gdb調試~~進程使用next命令,程序會按代碼順序逐行執行。

1.4.3運行程序

linux工具—gdb調試~~進程使用run命令啟動程序,運行到斷點處暫停。

1.4.4查看變量值

linux工具—gdb調試~~進程使用print x命令查看變量x的值。

1.4.5斷點間跳轉

linux工具—gdb調試~~進程使用continue命令可從第一個斷點直接跳轉到第二個斷點。

1.4.6查看調試程序代碼

使用l 0命令從第0行開始顯示代碼,多次執行l命令會逐步顯示所有代碼。

linux工具—gdb調試~~進程2.進程入門2.1簡要回顧

上次我們討論了操作系統及其與硬件架構的層級關系。操作系統通過驅動程序管理軟硬件資源,并通過描述和組織的方式實現對這些資源的管理。

2.2進程初識

加載到操作系統中的程序就是進程。操作系統可以同時運行多個進程。

當需要加載多個進程時,操作系統需要管理這些進程,管理方式是先描述后組織。

當一個進程加載到內存中成為真正的進程時,操作系統會創建一個描述進程的結構體對象,稱為PCB(進程控制塊)。PCB類似于面向對象編程中的對象,包含進程的所有屬性。

2.3進程屬性

PCB包含狀態、進程編號、優先級等屬性。

根據PCB,操作系統會將進程的代碼和數據加載到內存中。

進程=內核PCB+自己的數據和代碼。

管理多個進程類似于對單鏈表進行增刪查改操作。

PCB中包含指向代碼和數據的指針,操作系統只需管理PCB,PCB則管理代碼和數據。

多個進程通過指針連接成鏈表,進程管理相當于對鏈表進行增刪查改操作。每個PCB僅管理自己的數據和代碼,排隊時是PCB在排隊,當輪到某個PCB時,它會調用自己的數據和代碼。

linux工具—gdb調試~~進程2.3Linux中的PCB

Linux中,task_struct是PCB的一種數據類型,包含標識符、狀態、優先級、程序計數器、上下文數據、I/O狀態記錄、內存指針等屬性。

Linux使用雙向鏈表組織進程。

2.4查看進程

使用ls /proc命令查看進程,/proc是Linux中的一個目錄。

linux工具—gdb調試~~進程當前目錄概念:創建文件時,若未指定位置,系統會在當前目錄下自動創建文件,因為進程記住自己的目錄位置。

使用kill -9 進程編號命令可以終止進程。

2.5查看進程標識符

進程標識符是進程的一個屬性,可以使用getpid系統調用查看當前進程的標識符,使用getppid查看父進程的標識符。

任何進程都是bash進程的子進程,bash進程是所有進程的父進程,可以通過相應命令查看其標識符。

2.6創建進程

運行程序時會生成一個進程。

使用fork系統調用可以創建新進程,fork返回兩個值,父子進程共享代碼,但數據在各自的內存空間中獨立存在。

相關閱讀

主站蜘蛛池模板: 日韩精品久久久免费观看夜色 | 老司机久久影院 | 亚洲日韩中文字幕天堂不卡 | 午夜性a一级毛片 | 偷拍第1页 | 免费又黄又爽的视频 | 全国最大色成免费网站 | 欧美一级毛片欧美一级无片 | 日韩啪| 美女被免费网站视频软件 | 亚洲精品久久玖玖玖玖 | 好叼操这里只有精品 | 日韩综合网站 | 亚洲天堂影院在线观看 | 大伊香蕉精品视频在线观看 | 久久精品视 | 亚洲a级片 | 久久视频这里只有精品 | 亚洲黄色官网 | 成年人免费网站在线观看 | 久久精品视频网站 | 免费a级毛片大学生免费观看 | 欧美一区二区三区精品国产 | 久久久久久国产精品免费免费 | 久草资源视频 | 宅女深夜福利视频在线 | 亚洲成a人片毛片在线 | 中文字幕av一区二区三区 | 国产精品免费看久久久久 | 美女把张开腿男生猛戳免费视频 | 国产永久免费高清动作片www | 天堂mv亚洲mv在线播放9蜜 | 亚洲人成网址在线播放a | 狠狠色噜狠狠狠狠色综合久 | 成人在线亚洲 | 欧美一级看片 | 国产成人狂喷潮在线观看2345 | 精品综合久久久久久88小说 | 国产欧美综合一区二区 | 国内精品久久影视 | 偷拍自拍视频在线 |