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

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
1234下一頁
最近訪問板塊 發(fā)新帖
查看: 8870 | 回復(fù): 30
打印 上一主題 下一主題

為什么gdb調(diào)試內(nèi)核時(shí)單步運(yùn)行不準(zhǔn)確? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-03-31 21:20 |只看該作者 |倒序?yàn)g覽
Hi,

    我剛剛用qemu+gdb搭建了個(gè)調(diào)試環(huán)境,已經(jīng)可以在start_kernel處打斷點(diǎn),可問題是,如果單步執(zhí)行,當(dāng)前行總是與代碼順序不一致,比如next,會(huì)好幾次重復(fù)在同一行,然后到下一行,然后又回到前面的某一行。
    gdb client端操作是:

    file vmlinux
    target remote localhost:1234
    b start_kernel
    c
    n
    n
    *
    *

    qemu端好像沒什么特別的,就是qemu-system-x86_64 -kernel xxx -hda yyy.img -m 512 -smp 2 -S把調(diào)試的內(nèi)核運(yùn)行起來

    Do I miss something?
    大家調(diào)試內(nèi)核舒服么?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-03-31 21:28 |只看該作者
鄙人愚見,任何試圖對內(nèi)核進(jìn)行嘗試都是徒勞,除非你能把整個(gè)系統(tǒng)在某個(gè)時(shí)間段全部凍結(jié),然后讓你仔細(xì)觀察

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2012-03-31 21:30 |只看該作者
回復(fù) 2# UnixKiller_Ama


    剛進(jìn)入start_kernel的時(shí)候只有一個(gè)“線程”,而且只有一個(gè)CPU會(huì)啟動(dòng)啊。

    不然的話,大俠怎么調(diào)試內(nèi)核?真心求教。。。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2012-03-31 21:58 |只看該作者
回復(fù) 4# UnixKiller_Ama

不明白你的意思,你是想說內(nèi)核不支持gdb調(diào)試么?很明顯內(nèi)核是支持調(diào)試的啊,kgdb不就為了調(diào)試而加入內(nèi)核的么,還有那么多的編譯選項(xiàng)。

只能說我目前還沒找到如何使用gdb調(diào)試內(nèi)核的正確方法而已,跟內(nèi)核變不變態(tài)沒關(guān)系把。

理性的想,如果linux不能支持友好的調(diào)試,而是你說的變態(tài),怎么可能發(fā)展到今天這么繁榮?




   

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2012-03-31 22:05 |只看該作者
rocklinux 發(fā)表于 2012-03-31 21:58
回復(fù) 4# UnixKiller_Ama

不明白你的意思,你是想說內(nèi)核不支持gdb調(diào)試么?很明顯內(nèi)核是支持調(diào)試的啊,kg ...


雖然我認(rèn)為Linus本人的確是個(gè)混球,但是我完全贊同他在2000年關(guān)于調(diào)試說的那句經(jīng)典:我就是個(gè)混球,你們想咋滴吧?!
kgdb,想調(diào)試內(nèi)核?開國際玩笑,你能讓整個(gè)系統(tǒng)平臺(tái)象被人點(diǎn)了葵花點(diǎn)穴手那樣靜止10分鐘讓你仔細(xì)觀察嗎?kgdb調(diào)試時(shí),很有可能引入kgdb本身導(dǎo)致的問題,而無助于真正問題的解決。當(dāng)然你自己去玩一下是可以的

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2012-03-31 22:12 |只看該作者
貌似調(diào)試內(nèi)核時(shí),用的最多的是打log

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2012-03-31 22:24 |只看該作者
回復(fù) 7# GFree_Wind


恩,我也知道,只是我覺得每次加printk后重新編譯很麻煩,時(shí)間不短,而且kernel重啟也不快,所以覺得單步調(diào)試是不是方便點(diǎn)。。。

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2012-03-31 22:32 |只看該作者
回復(fù) 6# UnixKiller_Ama


    kgdb只是調(diào)試的手段之一,沒人說它是萬能的,但至少有用,不然也不會(huì)merge到mainline,不是么
    而且我說了,我只是想知道為什么單步調(diào)試時(shí),next命令執(zhí)行不準(zhǔn)確,這跟block住內(nèi)核有關(guān)系么?
    稍有經(jīng)驗(yàn)的人都知道對于多線程程序或是牽連硬件信號(hào)的等對時(shí)間敏感的程序,block then single step都不是好方法。而我只是在start_kernel初期,只有一個(gè)線程,一個(gè)CPU可以運(yùn)行。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2012-04-01 01:27 |只看該作者
感覺和o2編譯有關(guān)系  

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2012-04-01 14:22 |只看該作者
回復(fù) 10# ww2000e

有可能

但既然選擇了加入debug info,應(yīng)該不會(huì)o2優(yōu)化吧,回去看看

   
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP