我使用gcc的'-m32'选项在64位机器上创建32位二进制文件。当我在64位机器上调试那个二进制文件然后在一定量的代码之后,如果我进入某个函数,它会带我到不同的函数。我认为函数堆栈代码段在某处产生了错误? 如果有人知道答案,请帮忙。
答案 0 :(得分:0)
在构建32位二进制文件时是否禁用了优化(通常为-O2
标志)?
我认为函数堆栈代码段在某处产生了错误?
没有'堆栈代码段'这样的东西。这些单词的组合毫无意义。
在任何情况下,在Linux上使用64位GDB调试32位二进制文件只能工作(TM),并且不太可能与您的问题有任何关系。