关于GDB和CRC不匹配

about GDB and CRC mismatch

本文关键字:不匹配 CRC GDB 关于      更新时间:2023-10-16

我想使用 gdb调试代码。当我编写命令时:

gdb gdns_processor 

它将输出gdb的警告消息:

<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/gdnscenter/bin/gdns_processor...
warning: the debug information found in "/usr/lib/debug//usr/local/gdnscenter/bin/gdns_processor.debug" does not match "/usr/local/gdnscenter/bin/gdns_processor" (CRC mismatch).
warning: the debug information found in "/usr/lib/debug/usr/local/gdnscenter/bin/gdns_processor.debug" does not match "/usr/local/gdnscenter/bin/gdns_processor" (CRC mismatch).
(no debugging symbols found)...done.

我不明白CRC不匹配。为什么gdb找不到符号?

ps:我的gcc选项设置了-g标志。

CPPFLAGS="-D_LIBC_REENTRANT $CPPFLAGS -g"

我不明白CRC不匹配

要了解消息,您需要阅读有关GDB的使用"单独的调试文件"的使用,例如在这里。

我的GCC选项设置为-g。CPPFLAGS="-D_LIBC_REENTRANT $CPPFLAGS -g"

您可能没有告诉我们整个故事。您的构建过程可能会产生gdns_processor二进制文件,并为其生成gdns_processor.debug"单独的调试文件"。

然后,您将gdns_processor复制到/usr/local/gdnsceter/bin/,但是(显然)忽略将gdns_processor.debug复制到/usr/lib/debug/usr/local/gdnscenter/bin/

也许您考虑重新编译程序的源代码不匹配源代码的程序。PS:如果您需要更多的调试信息详细信息,则可以使用-GGDB选项。