免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1009 | 回复: 0
打印 上一主题 下一主题

请教stabs问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-05 21:47 |只看该作者 |倒序浏览
看了The "stabs" debug format 相关文档,觉得理解还不够,希望有人指点一二。不胜感激!!

下面这两行怎么理解?
.stabs        "main:F(0,1)",36,0,0,main
.stabn 68,0,175,.LM2-main

下面是gcc -gstabs 得到的。
//////////////////////////////////////////////////////////////////////////////////
        .stabs        "main.c",100,0,0,.Ltext0
        .text
.Ltext0:
        .stabs        "gcc2_compiled.",60,0,0,0
        .stabs        "int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,0,0
        .stabs        "char:t(0,2)=r(0,2);0;127;",128,0,0,0
        .stabs        "long int:t(0,3)=r(0,3);-2147483648;2147483647;",128,0,0,0
        .stabs        "unsigned int:t(0,4)=r(0,4);0;-1;",128,0,0,0
        .stabs        "long unsigned int:t(0,5)=r(0,5);0;-1;",128,0,0,0
        .stabs        "long long int:t(0,6)=r(0,6);0;-1;",128,0,0,0
        .stabs        "long long unsigned int:t(0,7)=r(0,7);0;-1;",128,0,0,0
        .stabs        "short int:t(0,=r(0,;-32768;32767;",128,0,0,0
        .stabs        "short unsigned int:t(0,9)=r(0,9);0;65535;",128,0,0,0
        .stabs        "signed char:t(0,10)=r(0,10);-128;127;",128,0,0,0
        .stabs        "unsigned char:t(0,11)=r(0,11);0;255;",128,0,0,0
        .stabs        "float:t(0,12)=r(0,1);4;0;",128,0,0,0
        .stabs        "double:t(0,13)=r(0,1);8;0;",128,0,0,0
        .stabs        "long double:t(0,14)=r(0,1);8;0;",128,0,0,0
        .stabs        "complex int:t(0,15)=s8real0,1),0,32;imag0,1),32,32;;",128,0,0,0
        .stabs        "complex float:t(0,16)=R3;8;0;",128,0,0,0
        .stabs        "complex double:t(0,17)=R4;16;0;",128,0,0,0
        .stabs        "complex long double:t(0,1=R4;16;0;",128,0,0,0
        .stabs        "__builtin_va_list:t(0,19)=*(0,20)=(0,20)",128,0,0,0
        .stabs        "_Bool:t(0,21)=eFalse:0,True:1,;",128,0,0,0
        .stabs        "main.c",130,0,0,0
        .align        2
        .stabs        "main:F(0,1)",36,0,0,main
        .globl        main
main:
        .stabn 68,0,3,.LM1-main

.LM1:
        @.frame        r2,44,r3         vars= 32, regs= 0/0, args= 16, extra= 12
        @.mask        0x00000000,0
        sw        r2,[r0,-4]+
        sw        r3,[r0,-4]+
        sw        r0,[r0,-4]+
        subi        r0,48
        mv        r2,r0
        @ movsi r8 __main
        la        r8,__main
        @ call with return void [r8] 16
        brl        r8
        .stabn 68,0,175,.LM2-main
.LM2:
        @ movsi r8 0
        li        r8,0
.LBB2:
        @ movsi [r2,16] r8
        sw        r8,[r2,16]
.L2:
        @ movsi r8 [r2,16]
        lw        r8,[r2,16]
        @ movsi [r2,24] r8
        sw        r8,[r2,24]
        @ movsi r8 [r2,24]
        lw        r8,[r2,24]
        @ cmpsi r8 89
        cmpi.c        r8,89
        bgt        .L7        @SImode Jump to .L5 if LE
        b        .L5
.L7:
        @ jump .L3
        j        .L3
.L5:
        .stabn 68,0,177,.LM3-main
.LM3:
        @ movsi r8 [r2,16]
        lw        r8,[r2,16]
        @ movsi [r2,28] r8
        sw        r8,[r2,28]
        @ movsi r8 [r2,28]
        lw        r8,[r2,28]
        @ cmpsi r8 0
        cmpi.c        r8,0
        ble        .L8        @SImode Jump to .L4 if GT
        b        .L4
.L8:
        @ movsi r8 [r2,16]
        lw        r8,[r2,16]
        @ movsi [r2,32] r8
        sw        r8,[r2,32]
        @ movsi r8 [r2,32]
        lw        r8,[r2,32]
        @ addsi3 r8 r8 1
        addi        r8,1
        @ movsi [r2,36] r8
        sw        r8,[r2,36]
        @ movsi r8 [r2,36]
        lw        r8,[r2,36]
        @ movsi [r2,16] r8
        sw        r8,[r2,16]
        .stabn 68,0,175,.LM4-main
.LM4:
.L4:
        @ movsi r8 [r2,16]
        lw        r8,[r2,16]
        @ movsi [r2,40] r8
        sw        r8,[r2,40]
        @ movsi r8 [r2,40]
        lw        r8,[r2,40]
        @ addsi3 r8 r8 1
        addi        r8,1
        @ movsi [r2,44] r8
        sw        r8,[r2,44]
        @ movsi r8 [r2,44]
        lw        r8,[r2,44]
        @ movsi [r2,16] r8
        sw        r8,[r2,16]
        @ jump .L2
        j        .L2
.L3:
        .stabn 68,0,179,.LM5-main
.LM5:
        @ movsi r8 0
        li        r8,0
        @ movsi [r2,20] r8
        sw        r8,[r2,20]
        .stabn 68,0,180,.LM6-main
.LM6:
.LBE2:
        @ movsi r4 [r2,20]
        lw        r4,[r2,20]
        addi        r2,48
        lw        r0,[r2]+,4
        lw        r3,[r0]+,4
        lw        r2,[r0]+,4
        br        r3
        .stabs        "i0,1)",128,0,0,16
        .stabn        192,0,0,.LBB2-main
        .stabn        224,0,0,.LBE2-main
        .comm        n, 4, 4
        .stabs        "n:G(0,1)",32,0,0,0
        .text
        .stabs "",100,0,0,Letext

Letext:
//////////////////////////////////////////////////////////////////////////////////
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP