真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux調(diào)試命令 linux調(diào)試命令大全

怎么在linux系統(tǒng)下調(diào)試程序

(1)假設要debug的進程號為1000,運行如下命令:

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,安義企業(yè)網(wǎng)站建設,安義品牌網(wǎng)站建設,網(wǎng)站定制,安義網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,安義網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

$ gdb -p 1000

使用此命令即可使gdb附加到進程。

(2)載入libpython腳本

如果你的gdb是redhat或fedora等廠商修改過的,會有--python選項,使用此選項即可指定gdb啟動時載入的Python擴展腳本(此腳本是擴展gdb的,不是我們需要debug的腳本)。

$ gdb --python /path/to/libpython .py -p 1000

如果安裝的是GNU的gdb,就需要打開gdb后手動載入libpython.py腳本

(gdb) python

import sys

sys.path.insert(0, '/path/to/libpython.py' )

import libpython

end

(gdb)

這時就可以使用py-bt命令打印當前線程的Python traceback了。libpython還提供很多命令,例如py-print打印變量,py-locals打印所有本地變量等等,詳細可打開libpython.py查看。

linux線上程序問題調(diào)試命令

根據(jù)這些可以查看系統(tǒng)調(diào)用的完整性,比如說服務器連接數(shù)一直漲,說明fd沒有close,close調(diào)用在上邊有缺失

strace -t -T -v -f -p 16705 -Te write 只看write系統(tǒng)調(diào)用

sudo gcore xxpid 生成dump文件

sudo dlv core binfile core.xxxx 調(diào)試coredump文件,查看調(diào)用棧、goroutines

查看系統(tǒng)級別日志 /var/log/messages

messages 日志是核心系統(tǒng)日志文件。它包含了系統(tǒng)啟動時的引導消息,以及系統(tǒng)運行時的其他狀態(tài)消息。IO 錯誤、網(wǎng)絡錯誤和其他系統(tǒng)錯誤都會記錄到這個文件中。其他信息,比如某個人的身份切換為 root,也在這里列出。如果服務正在運行,比如 DHCP 服務器,您可以在 messages 文件中觀察它的活動。通常,/var/log/messages 是您在做故障診斷時首先要查看的文件。

tcpdump -i lo -nnA 'port 7076' and 'tcp[13] 4 != 0 ' 抓rst包,發(fā)送給7076端口或者是7076端口發(fā)出去的

mac osx系統(tǒng):sudo tcpdump -i lo0 -nnA 'port 3000'

Linux-hexdump命令調(diào)試event驅(qū)動

hexdump: 查看文件的內(nèi)容,比如二進制文件中包含的某些字符串,通常用來調(diào)試驅(qū)動用

描述

我們以event1為例,當我們insmod掛載了鍵盤驅(qū)動后,出現(xiàn)一個event1設備,

此時沒有按鍵按下,所以event1里面的數(shù)據(jù)是沒有的,那么數(shù)據(jù)又是從來哪里來?

通過鍵盤驅(qū)動的read函數(shù),若有按鍵按下,就會上傳按鍵數(shù)據(jù)給用戶層hexdump

因為鍵盤驅(qū)動的input_handler 是:evdev_handler

所以鍵盤驅(qū)動的read函數(shù)是: evdev_handler-evdev_fops-evdev_read

進入evdev_read()函數(shù),如下圖所示:

evdev_event_to_user()這個函數(shù)從字面上來看,顯然就是用來上傳給用戶層的函數(shù),其中buffer是函數(shù)參數(shù),指向用戶層,所以數(shù)據(jù)就是event.

我們來看看event的結(jié)構(gòu)體:input_event

把 time里的成員展開如下:

所以我們hexdump調(diào)試任何輸入子系統(tǒng)event XX驅(qū)動時,有信息就會打印上面數(shù)據(jù)

1.調(diào)試鍵盤驅(qū)動

以按開發(fā)板的按鍵 KEY_L,為例(因為數(shù)據(jù)是從低到高打印的,所以數(shù)據(jù)是反的):


分享標題:linux調(diào)試命令 linux調(diào)試命令大全
網(wǎng)址分享:http://weahome.cn/article/ddjshej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部