gdb:在0x2aaaaaaa000的添加的符号文件系统提供的DSO中找不到可加载的部分

liv*_*hak 7 c c++ compiler-construction debugging gdb

我正在尝试使用gdb调试C程序.我使用的编译标志如下所示

-fno-strict-aliasing -Wall -DHAVE_CONFIG_H -DNO_OLD_ERF_TYPES -Werror  -Wredundant-decls -O2 -DNDEBUG -DBYTESWAP -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g 
Run Code Online (Sandbox Code Playgroud)

我正在使用的编译器的版本是

gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Run Code Online (Sandbox Code Playgroud)

我调试为

libtool gdb mytool

我设置断点并运行程序.执行不会在断点处停止,我收到以下警告.

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x2aaaaaaab000
[Thread debugging using libthread_db enabled]
Run Code Online (Sandbox Code Playgroud)

Rob*_*obC -1

尝试删除 -O2 和 -DNDEBUG。

-O2 将优化级别设置得稍高一些,因此编译后的代码可能无法代表源文件中的编写方式,并且 NDEBUG 标志可能会覆盖 -g