我尝试在Windows中使用Cygwin对自动化项目进行去除。 我运行了以下内容:
./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。
我该如何解决?
答案 0 :(得分:1)
您需要做的是在obj目录中搜索* .sym(符号文件)
然后
gdb
gdb>attach <process -id>
gdb> symbol-file <path of symbol file>
答案 1 :(得分:0)
使用Arch Linux中的makepkg进行构建时遇到了类似的问题,事实证明您可以从makepkg.conf配置中停用strip
,只需添加!
在strip
属性中的OPTION
选项之前,例如:
OPTIONS =(!strip docs!libtool!staticlibs emptydirs zipman purge!upx!debug)
编辑:我意识到这可能无法解决OP问题,但我让她搜索类似的东西,因此认为这些信息可能对搜索相同关键字的其他人有用。
答案 2 :(得分:0)
我也遇到了这个问题,并找到了此条目。我终于弄清楚了,想在这里为其他人添加信息,作为可能的原因:
使用libtool不会给您提供可以调试的exe文件。您改为使用:
libtool --mode=execute gdb --args filename
当我在FreeBSD环境中查看时发现了这一点,并最终发现我的程序实际上是一个shell脚本。
对于cygwin,您会得到一个在问题中描述的exe,无法判断问题出在哪里。例如,file命令与上面的命令相同。