Gcc 使用调试符号构建FFTW-64位目标端口上的问题

Gcc 使用调试符号构建FFTW-64位目标端口上的问题,gcc,gdb,32bit-64bit,fftw,Gcc,Gdb,32bit 64bit,Fftw,我需要找出为什么fftw在一个应用程序中会出现分段故障,该应用程序在gcc4.0的32位目标上构建正常,现在在gcc4.6的64位目标上失败 fftw配置选项: --启用调试 --启用调试malloc --启用调试对齐 我只想添加内部调试,我希望通过打开gdb调试符号来达到目的,这样我就可以尝试跟踪SEGFULT的原因。是否有一个gdb调试选项我不知怎么错过了 或者,有没有其他方法可以追踪fftw中的segfault?如我在上面的评论中所述,答案是编辑fftw3的configure生成的Ma

我需要找出为什么fftw在一个应用程序中会出现分段故障,该应用程序在gcc4.0的32位目标上构建正常,现在在gcc4.6的64位目标上失败

fftw配置选项:

  • --启用调试
  • --启用调试malloc
  • --启用调试对齐
我只想添加内部调试,我希望通过打开gdb调试符号来达到目的,这样我就可以尝试跟踪SEGFULT的原因。是否有一个gdb调试选项我不知怎么错过了


或者,有没有其他方法可以追踪fftw中的segfault?

如我在上面的评论中所述,答案是编辑fftw3的configure生成的Makefile,将-ggdb添加到CFLAGS中。

configure生成的Makefile包含在CFLAGS中的-g中,我已更改为-ggdb,现在获得gdb的调试信息。正在返回一个空计划,因此缩小了搜索范围。计划标志都设置为1,因此它从fftwf_mkapiplan返回一个空计划,因为它认为只设置了FFTW_Wisse_,并且没有加载Wisse。这是因为FFTW库包含文件中FFTW_FORWARD一直被定义为-1。不清楚这为什么会在新构建中突然出现问题,但我现在不需要它,因为它隐含在从真实到复杂的转换中。