GDB、V8 调试中出现多条警告消息“warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.)”

问题描述 投票:0回答:1
我正在调试V8 x64调试版本,它有所有调试文件,我用调试文件构建用于调试。但符号无法正确加载到 GDB 中。我无法通过函数名称搜索或设置断点,并且当它触发时会给出多个警告消息

NU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... GEF for linux ready, type `gef' to start, `gef config' to configure 89 commands loaded and 5 functions added for GDB 9.2 in 0.00ms using Python engine 3.8 Reading symbols from v8/out/x64.debug/d8... warning: Could not find DWO CU obj/d8/d8.dwo(0xbad43b0798af8f6e) referenced by CU at offset 0xc0 [in module /home/user/V8/2020/v8/out/x64.debug/d8] gef➤ r Starting program: /home/user/V8/2020/v8/out/x64.debug/d8 --allow-natives-syntax [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff3098700 (LWP 15345)] [New Thread 0x7ffff2897700 (LWP 15346)] V8 version 8.5.51 d8> ^C Thread 1 "d8" received signal SIGINT, Interrupt. __GI___libc_read (nbytes=0x400, buf=0x555555710eb0, fd=0x0) at ../sysdeps/unix/sysv/linux/read.c:26 26 ../sysdeps/unix/sysv/linux/read.c: No such file or directory. warning: Could not find DWO CU obj/d8/async-hooks-wrapper.dwo(0x8b18cdce576077a3) referenced by CU at offset 0x0 [in module /home/user/V8/2020/v8/out/x64.debug/d8] warning: Could not find DWO CU obj/d8/d8-console.dwo(0x95a818df7e6b7bf3) referenced by CU at offset 0x34 [in module /home/user/V8/2020/v8/out/x64.debug/d8] warning: Could not find DWO CU obj/d8/d8-js.dwo(0xaf722a5967a4a306) referenced by CU at offset 0x68 [in module /home/user/V8/2020/v8/out/x64.debug/d8] warning: Could not find DWO CU obj/d8/d8-platforms.dwo(0xa3760e5b0c2de1da) referenced by CU at offset 0x8c [in module /home/user/V8/2020/v8/out/x64.debug/d8] warning: Could not find DWO CU obj/d8/d8-posix.dwo(0xf4154270b654d114) referenced by CU at offset 0xf4 [in module /home/user/V8/2020/v8/out/x64.debug/d8]

我什至构建了多次V8,仍然出现这个问题!

以及断点触发后的警告

warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) ... ... warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.) warning: (Internal error: pc 0x7ffff4688dd5 in read in CU, but not in symtab.)

V8 版本 8.5.51 操作系统:20.04.1 Ubuntu GNU gdb (Ubuntu 9.2-0ubuntu1~20.04.1) 9.2 + GEF 扩展

我尝试解决这个问题:

    更新了 GDB 和软件包
  • 使用不同的标志重建多次V8
  • 重新下载所有文件和depot_tools,然后也重新构建 即使 gdb 从以前的版本更新,问题仍然出现 顺便说一句,预构建的 V8 调试版本 7.3 工作正常并加载所有符号文件。 我搜索论坛,但无法解决! 谢谢您的建议!
google-chrome ubuntu debugging gdb v8
1个回答
0
投票
尝试从您的

tools/gdbinit 获取 V8 的

~/.gdbinit
。除了定义一些有用的宏之外,它还可以帮助GDB找东西。 (我不确定这是否能解决您的问题,但这是我尝试的第一件事。)
关于提出好问题的注意事项:

与其说您“使用不同的标志多次重新构建 V8”,不如列出您使用的实际标志会更有用。为任何愿意自愿贡献时间的人提供帮助您重现问题所需的一切。

还有关于 V8 版本 8.5.51 的说明:
这是 3.5 年前的一些随机快照。它很有可能包含各种错误,可能包括可调试性。任何人都不应该将其用于任何用途。它在创建后大约两个小时就变得过时且不受支持,当时 8.5.52 被同一个机器人自动标记。从你的路径名来看,我猜由于某种原因你对考古版本特别感兴趣,但你应该意识到“过时且不受支持”意味着当某些东西不起作用时,你只能靠自己了。


© www.soinside.com 2019 - 2024. All rights reserved.