gdb print array

    /* 
     * print 数组
     */    
        p *array@len        // 查看数组array,len是数据长度        
        p *node@10

        (gdb) p &early_top_pgt[512]                 // 尾地址
        $18 = (pgd_t *) 0xffffffff823fd000
        (gdb) p &early_top_pgt
        $19 = (pgd_t (*)[512]) 0xffffffff823fc000   // 首地址

        0xffffffff823fd000 - 0xffffffff823fc000 = 4096, 4096 / 8 = 512

        (gdb) p early_top_pgt                       // 输出全部
        $20 = {{pgd = 0} , {pgd = 37740643}, {pgd = 0} , {pgd = 35700839}}
        (gdb) p early_top_pgt[511]                  // 输出最后一个数据
        $21 = {pgd = 35700839}
        (gdb) p early_top_pgt[0]                    // 输出第一个数据
        $22 = {pgd = 0}
    
        (gdb) p &early_top_pgt[511]                 // 尾地址
        $25 = (pgd_t *) 0xffffffff823fcff8
        (gdb) p *early_top_pgt                      // 输出第一个数据
        $26 = {pgd = 0}
        (gdb) p *early_top_pgt[1]                   // error
        Structure has no component named operator*.

        (gdb) p *init_top_pgt@512                   // 输出512个数据
        $33 = {{pgd = 0} , {pgd = 35700839}}

        (gdb) p *early_top_pgt@100                  // 输出100个数据
        $35 = {{pgd = 0} }

你可能感兴趣的:(Linux,linux)