gpt4 book ai didi

c - gdb 信息行 : . ..但不包含任何代码

转载 作者:行者123 更新时间:2023-11-30 17:42:26 25 4
gpt4 key购买 nike

我在 info line 处收到一个奇怪的 gdb 错误。

 gdb) info line
Line 252 of "main.c" is at address 0x7f29e979c987 <main+314> but contains no code.

但另一方面,我可以成功列出代码:

    (gdb) l main.c:254
249 batch_mode = 1;
250 case 'd':
251 daemon_mode = 1;
252 break;
253 case 'k':
254 keep_kernel_mode = 1;
255 break;
256 case 'C':
257 dryrun = 1;
258 break;
(gdb)

而且 gdb 似乎清楚地知道源文件:

(gdb) info source
Current source file is main.c
Compilation directory is /home/charletr/src/quagga/zebra
Located in /home/charletr/src/quagga/zebra/main.c
Contains 414 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.

但另一方面,我无法让信息线说出合理的事情:(这是尝试从第 1 帧列出的地址打印信息行,我非常有信心我有源代码)

(gdb) bt
#0 0x00007f29e88431f3 in __select_nocancel () from /home/charletr/src/aries-uprevquagga/debug/lib/libc.so.6
#1 0x00007f29e8f309eb in ?? ()
#2 0x00007fffef3b58c0 in ?? ()
#3 0x00007fffef3b5a70 in ?? ()
#4 0x00007fffef3b5a60 in ?? ()
#5 0x00007f29e99d68b8 in ?? ()
#6 0x00007f29e99d6a28 in ?? ()
#7 0x00007f29e99d69a8 in ?? ()
#8 0x00007f29e99d6928 in ?? ()
#9 0x00007f29e99d69a8 in ?? ()
#10 0x00007fffef3b58e0 in ?? ()
#11 0x00007fffef3b5960 in ?? ()
#12 0x0000000000000000 in ?? ()
(gdb) info line *0x00007f29e8f309eb
No line number information available for address 0x7f29e8f309eb

gdb:info line 可以找到源代码但无法细化行号可能是什么原因?

注意:我确实有一个非常奇怪的构建系统/目标系统设置。我在构建系统上构建并将对象复制到目标系统。然后我在目标系统上运行 gdbserver。然后,我在构建系统上运行 gdb 并使用 target remote 命令连接到目标系统上的 gdbserver。

希望,瑞奇

最佳答案

我明白了。我会在这里发帖以防其他人发生这种情况。所以我的构建系统和目标系统有不同的 Linux 内核版本,因此也有不同的 libc (glibc) 版本。我需要做的是指示构建系统上的本地 gdb 使用不同的 sysroot,以便匹配在远程目标上找到的内容。我通过 .gdbinit 文件执行此操作,如下所示:

set sysroot /opt/6WIND/contrib/toolchain/gcc-4.3.2-glibc-2.7/x86_64-pc-l‌​inux-gnu/sys-root/
set sysroot remote:/

–user3101167

关于c - gdb 信息行 : . ..但不包含任何代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20578196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com