Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 编译器资源管理器中的调试信息_Assembly_X86_Compiler Construction_Compiler Explorer - Fatal编程技术网

Assembly 编译器资源管理器中的调试信息

Assembly 编译器资源管理器中的调试信息,assembly,x86,compiler-construction,compiler-explorer,Assembly,X86,Compiler Construction,Compiler Explorer,编译器资源管理器中的“调试部分”是什么 .Letext0: .section .debug_info,"",@progbits .Ldebug_info0: .long 0x5d .value 0x4 .long .Ldebug_abbrev0 .byte 0x8 .uleb128 0x1 .long .LASF0 .

编译器资源管理器中的“调试部分”是什么

.Letext0:
        .section        .debug_info,"",@progbits
.Ldebug_info0:
        .long   0x5d
        .value  0x4
        .long   .Ldebug_abbrev0
        .byte   0x8
        .uleb128 0x1
        .long   .LASF0
        .byte   0xc
        .long   .LASF1
        .long   .LASF2
        .quad   .Ltext0
        .quad   .Letext0-.Ltext0
        .long   .Ldebug_line0
        .uleb128 0x2
这是编译器资源管理器内部要使用的东西,还是它具体显示了什么?我知道我可以通过过滤掉指令和未使用的标签来解决这个问题,但是这一部分是什么


下面是一个例子:。

这是调试器的数据。@Jester你能详细说明一下吗?可能是输出中的几行代码,以及调试器如何使用这些代码。dwarf格式相当复杂。随着
.loc
.cfi
填充,这些数据使调试器能够将源代码行映射到指令、了解变量类型、执行堆栈遍历等。谷歌“dwarf debug info”。例如。这是一种元数据,它可以让调试器知道每个源代码行(编译器资源管理器用于颜色高亮显示)包含哪些asm指令,以及每个C变量的值在任何时间点的位置,我认为它可以通过
info vars
print my_var
的寄存器跟踪值。