petalinux-应用程序调试

1.以vcu-qt程序为为例

2.修改源码

$cd project-spec/meta-user/recipes-apps/vcu-qt/files

$mkdir develop

$cp vcu_qt.zip develop

$cd develop

$unzip vcu_qt.zip

$vi src/main.cpp    #在main()中增加一行qDebug("vcu-qt starting\n"); 保存退出

$rm vcu_qt.zip && zip -r vcu_qt.zip *    #重新打包

$cp vcu_qt.zip ../

$petalinux-build -c vcu-qt        #回工程主目录进行编译


3.获取应用程序,由于中间生成的可执行文件已经被删除,所以只能从rmp中获取,解包后的程序可以通过scp拷贝到开发板上进行运行。

$cp build/tmp/deploy/rpm/aarch64/vcu-qt-1.0-r0.aarch64.rpm /tmp/    #拷贝到临时目录

$unpack.sh /tmp/vcu-qt-1.0-r0.aarch64.rpm    #解rpm包

$cat unpack.sh


#!/bin/bash

# unrpm.sh :解包一个rpm归档文件

# Usage: `basename $0` target-file

TEMPFILE=$$.cpio  ##TEMPFILE必须是一个唯一的名字,$$是这个脚本的进程ID

file=$1

E_NOFILE=71

E_NORPM=72

if [ ! -f "$file" ]; then

        echo "Should use a existing file"

        exit $E_NOFILE

fi

res=`file "$file" | grep -o "rpm"`

if [ -z "$res" ]; then

        echo "Should use a rpm file"

        exit $E_NORPM

fi

rpm2cpio < $file > $TEMPFILE

cpio --make-directories -F $TEMPFILE -i

rm -f $TEMPFILE

exit 0

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容