我正在尝试安装Yocto构建的应用程序的调试包。
在安装之后,可执行文件可以在.debug
目录中找到。
但是,当我尝试执行这些时,出现以下错误
-sh: /etc/.debug/app: cannot execute binary file: Exec format error
文件命令显示:
file /etc/.debug/app
/etc/.debug/app: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter *empty*, for GNU/Linux 2.6.32, BuildID[sha1]=1dfc051dc47683e0715b842998daadd4d12c541e, not stripped
arch 命令输出armv7l
。
该应用程序似乎工作正常[没有调试信息的那个]。
应用程序上的file
命令是
file /etc/app
/etc/app: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=1dfc051dc47683e0715b842998daadd4d12c541e, stripped
我想要的是执行使用调试符号编译的应用程序,以便在应用程序崩溃时给出coredump
。
有没有办法解决这个问题,或者有没有其他更好的方法来使用调试信息[使用Yocto框架]运行程序?
调试包只包含调试符号,您不直接运行它们。 运行标准可执行文件,gdb 将读取调试包安装的符号。