如何在automake c项目中获取调试符号?
我试着在Windows中用Cygwin去完成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
./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