我正在制作一个 JIT 重新编译器,这意味着我在运行时生成代码块。我希望能够告诉 gdb 主机区域,例如
0x7f00'0ac0
-0x7f00'03c0
具有名称 block_1000_0ac0
,因为在此示例中,主机区域映射到从访客地址 0x1000'0ac0
生成的块。
我希望这发生在我的 C++ 应用程序中,以便 JIT 可以用符号标记它重新编译的块。这将使当我中断 gdb 时我知道我重新编译的块映射到哪个来宾区域。
有办法做到这一点吗?
据我所知,如果不在运行时以 COFF 等格式创建中间调试符号文件,并使用 GDB 符号文件命令加载它,就无法做到这一点。
欲了解更多信息,请阅读 https://en.wikipedia.org/wiki/COFF。其他选项可能是 DWARF 符号。