Linux內(nèi)核調(diào)試工具KGDB?
1、內(nèi)核工具KGDB調(diào)試環(huán)境需要為L(zhǎng)inux 內(nèi)核加上 kgdb補(bǔ)丁,補(bǔ)丁實(shí)現(xiàn)GDB遠(yuǎn)程調(diào)試所需要的功能,包括命令處理、陷阱處理及串口通信3個(gè)主要的部分。KGDB補(bǔ)丁的主要作用是在Linux 內(nèi)核中添加了一個(gè)調(diào)試Stub。
2、kgdb:能很方便的在源碼級(jí)對(duì)內(nèi)核進(jìn)行調(diào)試,缺點(diǎn)是kgdb只能進(jìn)行遠(yuǎn)程調(diào)試,它需要一根串口線及兩臺(tái)機(jī)器來(lái)調(diào)試內(nèi)核(也可以是在同一臺(tái)主機(jī)上用vmware軟件運(yùn)行兩個(gè)操作系統(tǒng)來(lái)調(diào)試)printk() 是調(diào)試內(nèi)核代碼時(shí)最常用的一種技術(shù)。
3、Linux調(diào)試程序大多數(shù)都是喜歡用gdb,gdb是一個(gè)命令行界面的程序調(diào)試工具,任何調(diào)試操作都是輸入命令來(lái)實(shí)現(xiàn)的。
如何使用linux下gdb來(lái)調(diào)試python程序
gdb是用來(lái)調(diào)試二進(jìn)制程序的,不能調(diào)試python腳本。python自帶pdb模塊,可以用來(lái)調(diào)試自己的腳本。使用python -m pdb 腳本.py,交互方式,命令與gdb類似。
: 對(duì)于在應(yīng)用程序中加入?yún)?shù)進(jìn)行調(diào)試的方法: 直接用 gdb app -p1 -p2 這樣進(jìn)行調(diào)試是不行的。
Linux調(diào)試程序大多數(shù)都是喜歡用gdb,gdb是一個(gè)命令行界面的程序調(diào)試工具,任何調(diào)試操作都是輸入命令來(lái)實(shí)現(xiàn)的。
linux中怎么使用gdb調(diào)試進(jìn)程有dettach
進(jìn)行調(diào)試。linux下gdb如何調(diào)試python程序 (1)假設(shè)要debug的進(jìn)程號(hào)為1000,運(yùn)行如下命令:gdb -p 1000 使用此命令即可使gdb附加到進(jìn)程。
進(jìn)入gdb以后,我們可以使用show follow-fork-mode來(lái)查看目前的跟蹤模式??梢钥吹侥壳笆褂玫哪J绞莗arent。然而,有的時(shí)候,我們想同時(shí)調(diào)試父進(jìn)程和子進(jìn)程,以上的方法就不能滿足了。
看到?jīng)]有? ./a.out的進(jìn)程號(hào)是8347?,F(xiàn)在啟動(dòng)gdb gdb 由于是調(diào)試運(yùn)行的進(jìn)程,不是可執(zhí)行文件,后面不需要跟任何參數(shù)。
gdb test 進(jìn)入調(diào)試需要調(diào)試的地方打下斷點(diǎn),run運(yùn)行到斷點(diǎn)處。r 運(yùn)行到斷點(diǎn)處,info thread可以查看被調(diào)試的線程。
用gcc/g++編譯時(shí),要加上-g選項(xiàng)生成debug版本的可執(zhí)行程序,否則就無(wú)法使用gdb調(diào)試了。
Linux 下調(diào)試匯編代碼既可以用 GDB、DDD 這類通用的調(diào)試器,也可以使用專門用來(lái)調(diào)試匯編代碼的 ALD(Assembly Language Debugger)。