如何在automake c项目中获取调试符号?

如何在automake c项目中获取调试符号?,c,debugging,gdb,C,Debugging,Gdb,我试着在Windows中用Cygwin去完成c汽车制造项目。 我运行了以下命令: ./configure CFLAGS="-g -o0" make 在那之后,我上膛了 gdb file src/slim.exe 上面写着 no debugging symbols found 档案上写着: file src/slim.exe src/slim.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for

我试着在Windows中用Cygwin去完成c汽车制造项目。 我运行了以下命令:

./configure CFLAGS="-g -o0"  
make
在那之后,我上膛了

gdb file src/slim.exe
上面写着

no debugging symbols found
档案上写着:

 file src/slim.exe
 src/slim.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS  Windows
当我检查“/configure-help”时,它显示默认情况下--enable debug no


我怎样才能修好它

您需要做的是在obj目录中搜索*.sym(符号文件)

然后

gdb
gdb>附加
符号文件

在使用Arch Linux构建时遇到了类似的问题,事实证明,您可以从配置中禁用
剥离
,只需添加一个
选项
属性中的
条带
选项之前,例如:

选项=(!strip docs!libtool!staticlibs emptydirs zipman purge!upx!debug)


编辑:我意识到这可能无法解决OP问题,但我让她搜索类似的东西,因此认为这些信息可能对其他搜索相同关键字的人有用。

我也有这个问题,找到了这个条目。我最终找到了答案,并想在这里为其他人添加信息,作为可能的原因:

使用libtool不会为您提供可以调试的exe文件。而是使用:

libtool --mode=execute gdb --args filename
我在查看FreeBSD环境时发现了这一点,最终发现我的程序实际上是一个shell脚本


对于cygwin,您会得到一个问题中描述的exe,无法判断问题可能是什么。file命令给出了与上述相同的示例。

检查CFLAGS或LDFLAGS中的
-s
,或调用
strip
,然后将其删除。
libtool --mode=execute gdb --args filename