亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
求助 如何分析crash,有沒(méi)有專(zhuān)門(mén)相關(guān)的論壇或者網(wǎng)站?
[打印本頁(yè)]
作者:
npuazm
時(shí)間:
2012-07-30 18:08
標(biāo)題:
求助 如何分析crash,有沒(méi)有專(zhuān)門(mén)相關(guān)的論壇或者網(wǎng)站?
如何分析crash,有沒(méi)有專(zhuān)門(mén)相關(guān)的論壇或者網(wǎng)站?
作者:
lenky0401
時(shí)間:
2012-07-30 18:38
最近準(zhǔn)備了將近100頁(yè)P(yáng)PT,在公司分3課時(shí)來(lái)專(zhuān)門(mén)培訓(xùn)如何查內(nèi)核crash&宕機(jī)問(wèn)題。
查內(nèi)核crash與查應(yīng)用程序crash沒(méi)什么差別,無(wú)非就是內(nèi)核crash的工具少一點(diǎn)或者說(shuō)使用起來(lái)麻煩一點(diǎn)(比如kgdb對(duì)gdb),所以相關(guān)手段原始一點(diǎn),比如一般是objdump反匯編后看匯編代碼。要看匯編,那么AT&T匯編指令,函數(shù)調(diào)用棧幀就是最基本的;然后是內(nèi)核的一系列概念,比如上下文(應(yīng)用程序不用考慮這個(gè),但內(nèi)核就要考慮當(dāng)前是進(jìn)程上下文還是中斷上下文,比如中斷上下文調(diào)用睡眠函數(shù))、棧(應(yīng)用層就一個(gè)棧,內(nèi)核有內(nèi)核棧、中斷棧、X86_64里特別的中斷還有額外的棧)、加鎖(死鎖宕機(jī))、同步(多核情況下,一個(gè)CPU把某公共資源釋放了,另外一個(gè)CPU還去使用,宕機(jī))、業(yè)務(wù)邏輯(異常情況下的主動(dòng)宕機(jī),BUG()、BUG_ON(),類(lèi)似于A(yíng)C下的assert)。
用google搜索linux oops開(kāi)始入門(mén)吧:比如
http://www.linuxforu.com/2011/01/understanding-a-kernel-oops/
作者:
lenky0401
時(shí)間:
2012-07-30 18:43
目前公司把該封的都封了,我也就只能來(lái)CU灌下水(要么只能上公司BBS去灌水
),而且還不能說(shuō)得太細(xì),LZ還有啥想問(wèn)的,我回去上網(wǎng)再回,
作者:
npuazm
時(shí)間:
2012-07-30 20:44
謝謝,樓上
我想問(wèn)問(wèn)當(dāng)你具體拿到一個(gè)core dump的時(shí)候,我想應(yīng)該會(huì)有一個(gè)大概得判斷
比如 是訪(fǎng)問(wèn)內(nèi)存異常,或是watchdog所致,或者由于硬件的缺陷導(dǎo)致堆棧發(fā)生錯(cuò)誤,上面的比如是我的一些猜想。
請(qǐng)問(wèn)有這樣基本的判斷嗎?如果有這樣的基本的判斷,又是怎么得出來(lái)的呢?
作者:
lenky0401
時(shí)間:
2012-07-30 21:41
呵呵 這種(watchdog、空指針訪(fǎng)問(wèn)、BUG主動(dòng)宕機(jī))你看到oops就能知道了 一般情況都有明確的字符串提示 內(nèi)核版本不同而不一樣 你弄幾個(gè)宕機(jī)示例看看打印的oops信息就知道了
作者:
lenky0401
時(shí)間:
2012-07-30 21:41
內(nèi)核版本不同提示的字符串不一樣
作者:
npuazm
時(shí)間:
2012-07-30 21:58
回復(fù)
5#
lenky0401
怎么弄弄幾個(gè)宕機(jī)示例并查看打印的oops信息
我菜的很
ps 你給的例子很好,我剛才看過(guò)了
作者:
embeddedlwp
時(shí)間:
2012-07-31 09:03
回復(fù)
6#
lenky0401
lenky0401兄可以在CU開(kāi)個(gè)專(zhuān)題討論啊。
作者:
npuazm
時(shí)間:
2012-08-01 12:21
回復(fù)
3#
lenky0401
在使用cash的時(shí)候,
用list 命令的用法,比如
crash> list __i2c_board_list
c07f6d1c
df8af9e0
df8af9a0
df8af960
df8af920
df8af8e0
df8af8a0
df8af860
df8af820
df8af7e0
df8af7a0
df8af4e0
df8af4a0
而后
crash> struct i2c_devinfo df8af4a0
struct i2c_devinfo {
list = {
next = 0xc07f6d1c,
prev = 0xdf8af4e0
},
busnum = 3,
board_info = {
type = "rmi_i2c\000\000\000\000\000\000\000\000\000\000\000\000",
flags = 0,
addr = 32,
platform_data = 0xc07d5568,
archdata = 0x0,
irq = 0
}
}
我想知道,有沒(méi)有相關(guān)的命令,把所有在list的設(shè)備的全部詳細(xì)信息都列出來(lái)?
作者:
npuazm
時(shí)間:
2012-08-01 16:34
回復(fù)
2#
lenky0401
如果已知數(shù)據(jù)結(jié)構(gòu),并且知道某一變量的某一成員的地址,假設(shè)知道 detected地址是c07f9f94,有沒(méi)有命令找到其他成員的地址,如怎么找到flags地址??
struct i2c_client {
unsigned short flags; /* div., see below */
unsigned short addr; /* chip address - NOTE: 7bit */
/* addresses are stored in the */
/* _LOWER_ 7 bits */
char name[I2C_NAME_SIZE];
struct i2c_adapter *adapter; /* the adapter we sit on */
struct i2c_driver *driver; /* and our access routines */
struct device dev; /* the device structure */
int irq; /* irq issued by device */
struct list_head detected;
};
作者:
lofeng410
時(shí)間:
2012-12-27 23:56
回復(fù)
10#
npuazm
有找到方法嗎?
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2