我试图安装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框架)运行程序?
答案 0 :(得分:0)
调试包仅包含 个调试符号,您不能直接运行它们。运行标准的可执行文件,并且gdb将读取调试包安装的符号。