亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4289 | 回復: 10
打印 上一主題 下一主題

[內(nèi)核入門] 求助 如何分析crash,有沒有專門相關的論壇或者網(wǎng)站? [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-07-30 18:08 |只看該作者 |倒序瀏覽
如何分析crash,有沒有專門相關的論壇或者網(wǎng)站?

論壇徽章:
0
2 [報告]
發(fā)表于 2012-07-30 18:38 |只看該作者
最近準備了將近100頁PPT,在公司分3課時來專門培訓如何查內(nèi)核crash&宕機問題。

查內(nèi)核crash與查應用程序crash沒什么差別,無非就是內(nèi)核crash的工具少一點或者說使用起來麻煩一點(比如kgdb對gdb),所以相關手段原始一點,比如一般是objdump反匯編后看匯編代碼。要看匯編,那么AT&T匯編指令,函數(shù)調(diào)用棧幀就是最基本的;然后是內(nèi)核的一系列概念,比如上下文(應用程序不用考慮這個,但內(nèi)核就要考慮當前是進程上下文還是中斷上下文,比如中斷上下文調(diào)用睡眠函數(shù))、棧(應用層就一個棧,內(nèi)核有內(nèi)核棧、中斷棧、X86_64里特別的中斷還有額外的棧)、加鎖(死鎖宕機)、同步(多核情況下,一個CPU把某公共資源釋放了,另外一個CPU還去使用,宕機)、業(yè)務邏輯(異常情況下的主動宕機,BUG()、BUG_ON(),類似于AC下的assert)。

用google搜索linux oops開始入門吧:比如http://www.linuxforu.com/2011/01/understanding-a-kernel-oops/

論壇徽章:
0
3 [報告]
發(fā)表于 2012-07-30 18:43 |只看該作者
目前公司把該封的都封了,我也就只能來CU灌下水(要么只能上公司BBS去灌水),而且還不能說得太細,LZ還有啥想問的,我回去上網(wǎng)再回,

論壇徽章:
0
4 [報告]
發(fā)表于 2012-07-30 20:44 |只看該作者
謝謝,樓上
我想問問當你具體拿到一個core dump的時候,我想應該會有一個大概得判斷
比如 是訪問內(nèi)存異常,或是watchdog所致,或者由于硬件的缺陷導致堆棧發(fā)生錯誤,上面的比如是我的一些猜想。
請問有這樣基本的判斷嗎?如果有這樣的基本的判斷,又是怎么得出來的呢?

論壇徽章:
0
5 [報告]
發(fā)表于 2012-07-30 21:41 |只看該作者
呵呵 這種(watchdog、空指針訪問、BUG主動宕機)你看到oops就能知道了 一般情況都有明確的字符串提示 內(nèi)核版本不同而不一樣 你弄幾個宕機示例看看打印的oops信息就知道了

論壇徽章:
0
6 [報告]
發(fā)表于 2012-07-30 21:41 |只看該作者
內(nèi)核版本不同提示的字符串不一樣

論壇徽章:
0
7 [報告]
發(fā)表于 2012-07-30 21:58 |只看該作者
回復 5# lenky0401
怎么弄弄幾個宕機示例并查看打印的oops信息
我菜的很
ps 你給的例子很好,我剛才看過了


   

論壇徽章:
16
2015亞冠之吉達阿赫利
日期:2015-08-17 11:21:462015年迎新春徽章
日期:2015-03-04 09:58:11酉雞
日期:2014-12-07 09:06:19水瓶座
日期:2014-11-04 14:23:29天秤座
日期:2014-03-02 08:57:52雙魚座
日期:2014-02-22 13:07:56午馬
日期:2014-02-14 11:08:18雙魚座
日期:2014-02-13 11:09:37卯兔
日期:2014-02-06 15:10:34子鼠
日期:2014-01-20 14:48:19戌狗
日期:2013-12-19 09:37:46射手座
日期:2013-12-19 09:33:47
8 [報告]
發(fā)表于 2012-07-31 09:03 |只看該作者
回復 6# lenky0401

lenky0401兄可以在CU開個專題討論啊。


   

論壇徽章:
0
9 [報告]
發(fā)表于 2012-08-01 12:21 |只看該作者
回復 3# lenky0401


   
在使用cash的時候,
用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
  }
}

我想知道,有沒有相關的命令,把所有在list的設備的全部詳細信息都列出來?


論壇徽章:
0
10 [報告]
發(fā)表于 2012-08-01 16:34 |只看該作者
回復 2# lenky0401

如果已知數(shù)據(jù)結構,并且知道某一變量的某一成員的地址,假設知道 detected地址是c07f9f94,有沒有命令找到其他成員的地址,如怎么找到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;
};
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP