新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 應用調試-----配置內核輸出應用程序的段錯誤信息

        應用調試-----配置內核輸出應用程序的段錯誤信息

        作者: 時間:2016-11-21 來源:網絡 收藏
        arch/arm/mm/fault.c
        __do_user_fault(struct task_struct *tsk, unsigned long addr,
        unsigned int fsr, unsigned int sig, int code,
        struct pt_regs *regs)
        {
        struct siginfo si;
        #ifdef CONFIG_DEBUG_USER // 1. 配置內核
        if (user_debug & UDBG_SEGV) {
        printk(KERN_DEBUG "%s: unhandled page fault (%d) at 0xlx, code 0xxn",
        tsk->comm, sig, addr, fsr);
        show_pte(tsk->mm, addr);
        show_regs(regs);
        }
        #endif
        2. uboot: set bootargs user_debug=0xff
        set bootargs console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.123:/work/nfs_root/first_fs ip=192.168.1.17 ipaddr=192.168.1.17 user_debug=0xff
        3. 執行APP
        ./test_debug
        a = 0x12
        pgd = c04c8000
        [00000000] *pgd=33d08031, *pte=00000000, *ppte=00000000
        Pid: 772, comm: test_debug
        CPU: 0 Not tainted (2.6.22.6 #1)
        PC is at 0x84ac
        LR is at 0x84d0
        pc : [<000084ac>] lr : [<000084d0>] psr: 60000010
        sp : bed9fe40 ip : bed9fe54 fp : bed9fe50
        r10: 4013365c r9 : 00000000 r8 : 00008514
        r7 : 00000001 r6 : 000085cc r5 : 00008568 r4 : bed9fec4
        r3 : 00000012 r2 : 00000000 r1 : 00001000 r0 : 00000000
        Flags: nZCv IRQs on FIQs on Mode USER_32 Segment user
        Control: c000717f Table: 304c8000 DAC: 00000015
        [] (show_regs+0x0/0x4c) from [] (__do_user_fault+0x5c/0xa4)
        r4:c04a6840
        [] (__do_user_fault+0x0/0xa4) from [] (do_page_fault+0x1dc/0x20c)
        r7:c00261e0 r6:c0024cf8 r5:c04a6840 r4:ffffffec
        [] (do_page_fault+0x0/0x20c) from [] (do_DataAbort+0x3c/0xa0)
        [] (do_DataAbort+0x0/0xa0) from [] (ret_from_exception+0x0/0x10)
        Exception stack(0xc3e7bfb0 to 0xc3e7bff8)
        bfa0: 00000000 00001000 00000000 00000012
        bfc0: bed9fec4 00008568 000085cc 00000001 00008514 00000000 4013365c bed9fe50
        bfe0: bed9fe54 bed9fe40 000084d0 000084ac 60000010 ffffffff
        r8:00008514 r7:00000001 r6:000085cc r5:00008568 r4:c039bfc8
        Segmentation fault
        Stack:
        00000000 becd3e64 becd3e54 000084d0 000084a0 00000000 becd3e78 becd3e68
        Cs sp return addr Bs sp
        000084f0 000084c4 00000000 becd3e98 becd3e7c 00008554 000084e4 00000000
        ret addr As sp ret addr mains sp
        00000012 becd3ec4 00000001 00000000 becd3e9c 40034f14 00008524 00000000
        ret addr callers sp
        對于動態鏈接,已經退出的程序不好確定動態庫的地址
        00000000 0000839c 00000000 00000000 4001d594 000083c4 000085cc 4000c02c
        becd3ec4 becd3f7b 00000000 becd3f88 becd3f92 becd3f99 becd3fad becd3fb8
        becd3fdb becd3fe9 00000000 00000010 00000003 00000006 00001000 00000011
        00000064 00000003 00008034 00000004 00000020 00000005 00000006 00000007
        40000000 00000008 00000000 00000009 0000839c 0000000b 00000000 0000000c
        00000000 0000000d 00000000 0000000e 00000000 00000017 00000000 0000000f
        becd3f77 00000000 00000000 00000000 00000000 76000000 2e006c34 7365742f
        65645f74 00677562 52455355 6f6f723d 4f480074 2f3d454d 61706900 3d726464
        2e323931 2e383631 37312e31 52455400 74763d4d 00323031 48544150 62732f3d
        2f3a6e69 2f727375 6e696273 69622f3a 752f3a6e 622f7273 53006e69 4c4c4548
        69622f3d 68732f6e 44575000 2e002f3d 7365742f 65645f74 00677562 00000000
        4. 反匯編app:
        arm-linux-objdump -D test_debug > test_debug.dis
        對于靜態鏈接的test_debug
        arm-linux-gcc -otest_debugtest_debug.c -static
        PC is at 0x81e0
        LR is at 0x8204
        pc : [<000081e0>] lr : [<00008204>] psr: 60000010
        sp : be93dc60 ip : be93dc74 fp : be93dc70
        r10: 000085f4 r9 : 00008248 r8 : be93deb4
        r7 : 00000001 r6 : 00000000 r5 : be93dd3e r4 : 00000000
        r3 : 00000012 r2 : 00000000 r1 : 00001000 r0 : 00000000
        Flags: nZCv IRQs on FIQs on Mode USER_32 Segment user
        Stack:
        00000000 be93dc84 be93dc74 00008204 000081d4 00000000 be93dc98 be93dc88
        Csp ret addr Bsp
        00008224 000081f8 00000000 be93dcb8 be93dc9c 00008288 00008218 00000000
        ret addr Asp ret addr mainsp
        00000012 be93deb4 00000001 00000000 be93dcbc 000084ac 00008258 756e694c
        ret addr __libc_start_mainsp
        00000078 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 32393100
        3836312e 312e312e 00000037 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 2e320000
        32322e36 0000362e 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 23000000
        54203335 4d206575 31207961 31322035 3a34303a 43203834 32205453 00323130
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        766d7261 006c7434 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        6f6e2800 0029656e 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        00000000 000080f8 00008680 00000000 be93deb4 be93df6a 00000000 be93df77
        be93df81 be93df92 be93df99 be93dfad be93dfb8 be93dfdb be93dfe9 00000000
        00000010 00000003 00000006 00001000 00000011 00000064 00000003 00008034
        00000004 00000020 00000005 00000003 00000007 00000000 00000008 00000000
        00000009 000080d0 0000000b 00000000 0000000c 00000000 0000000d 00000000
        0000000e 00000000 00000017 00000000 0000000f be93df66 00000000 00000000
        00000000 34760000 2f2e006c 74736574 6265645f 55006775 3d524553 746f6f72
        444c4f00 3d445750 6f72702f 34372f63 4f480033 2f3d454d 61706900 3d726464
        2e323931 2e383631 37312e31 52455400 74763d4d 00323031 48544150 62732f3d
        2f3a6e69 2f727375 6e696273 69622f3a 752f3a6e 622f7273 53006e69 4c4c4548
        69622f3d 68732f6e 44575000 2e002f3d 7365742f 65645f74 00677562 00000000


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 玉树县| 凤山县| 封丘县| 榆社县| 越西县| 淳化县| 阳江市| 乡城县| 大邑县| 即墨市| SHOW| 沙洋县| 英吉沙县| 三明市| 宜昌市| 忻城县| 五指山市| 西吉县| 阿荣旗| 珲春市| 岳西县| 白玉县| 保靖县| 全州县| 徐闻县| 商城县| 崇明县| 和硕县| 万山特区| 汶川县| 崇阳县| 舒兰市| 南木林县| 积石山| 兴安县| 历史| 阜南县| 富平县| 互助| 淮南市| 宁远县|