Coredump-N: func 1441 (discriminator 4);gdb是如何根据汇编地址找到行号的?

参考

  1. http://wiki.dwarfstd.org/index.php?title=Path_Discriminators
  2. https://sourceware.org/bugzilla/show_bug.cgi?id=17276
  3. https://gcc.gnu.org/wiki/Discriminator

问题

有时候在打印backtrace时,会遇到这个discriminator 4;这个是dwarf标准里定义的一个辨识器。如果是4,代表这一行代码还有别的信息在里面,就看gdb/gcc怎么使用解析这个辨识器。主要作用是为了方便优化器做分析使用。一般调试用不太着。
https://gcc.gnu.org/wiki/Discriminator
Discriminator is used to distinguish between different basic blocks that may be defined in a same line.

出现的原因在参考1

DW_LNE_set_discriminator
The DW_LNE_set_discriminator opcode takes a single parameter, an unsigned LEB128 integer. It sets the discriminator registe

猜你喜欢

转载自blog.csdn.net/qq_36428903/article/details/126047487