gpt4 book ai didi

c++ - gdb: 内部错误设置断点

转载 作者:可可西里 更新时间:2023-11-01 18:38:47 25 4
gpt4 key购买 nike

我的程序是用 -g 标志编译的。我遇到以下问题:

1) 我在头文件中的函数中设置了一个断点。

断点有效。现在,当我向上两层时,它应该将我带到一个 C 文件 (Sizer.C:505)。确实如此,但我收到了大量警告:

warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
warning: (Internal error: pc 0xff6324 in read in psymtab, but not in symtab.)
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
#2 0x0000000000ff6324 in SizePacketImpl<ZValue>::begin_x (this=warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
0x4888a88, bi=warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)
0x56e6968) at Sizer.C:505
505 ASSERTo(...some parameters ....);
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)

2) 如果我现在(在程序处于中断状态时向上两级之后)尝试直接在 Sizer.C 中设置断点

(gdb) break Sizer.C:504
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)

Breakpoint 3 at 0xff1bc7: file Sizer.C, line 504.
warning: (Internal error: pc 0xff6323 in read in psymtab, but not in symtab.)

程序根本不会在断点处停止。

3) 为了完整起见:如果我在程序运行之前在 Sizer.C 中设置断点,我不会收到警告,但程序仍然不会中断。

我想在 Sizer.C 中设置断点。我该如何调试和解决这个问题?

最佳答案

这似乎是 gdb 中的一个错误。查看此页面:http://sourceware.org/ml/gdb-patches/2003-01/msg00074.html更多细节。您使用的 gdb 是什么版本?尝试升级到最新版本,然后重试。升级应该可以解决您的问题。

[更新]

我还找到了这个链接:http://sourceware.org/ml/gdb/2006-06/msg00123.html

这里提到了一个解决方法。尝试注释所提到的代码。

if (low == 0 && (bfd_get_file_flags (obfd) & HAS_RELOC) == 0) > return 0; 

关于c++ - gdb: 内部错误设置断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4601273/

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