
patchelf高版本堆后gdb调试不了堆,手动设置调试路径也不行,有没有师傅遇到过这样的问题,求帮助

以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
看起来你在使用GDB进行堆调试时遇到了问题。这个问题可能由于以下几个原因引起:
调试符号路径不正确或符号未加载。在这种情况下,你可能需要确保你在GDB中正确设置了调试符号的路径。从你所提供的图1和图2中可以看到,你已经设置了debug-file-directory,但在设置后可能需要重启GDB或者使用pwndbg heap命令之前重新加载符号。尝试在设置了调试符号路径之后重启GDB看看是否有所改善。另外,确认你的路径是否正确以及符号文件是否存在。如果路径中的文件不存在,你需要确保正确的debug符号文件存在于此路径下。
GDB版本问题。如果你使用的GDB版本与你的程序不兼容,可能会导致调试失败。你可以尝试升级GDB到最新版本,或者尝试使用一个不同的GDB版本。关于GDB的版本选择和安装方法,可以参考GDB的官方文档或相关的在线资源。
你的程序没有正确初始化堆或者存在其它内部错误。如果你的程序在启动时并未正确初始化堆或者存在其它内部错误,可能会导致GDB无法调试堆。这种情况下你需要检查你的程序是否存在错误,并确保它正确初始化了堆。
关于你的问题,我暂时无法确定具体的原因,但你可以尝试以上的解决方案。如果问题仍然存在,你可能需要提供更多的信息,例如你的操作系统版本、GDB版本、编译和链接过程以及任何相关的错误信息。这样我可以更好地帮助你解决问题。