当前位置: 首页 > news >正文

Yocto Build with Bitbake的调试

 

 

https://docs.yoctoproject.org/dev-manual/common-tasks.html#recipe-logging-mechanisms

 

官方文档里有输出调试信息的方法。包含两种,一种是调用python的,一种是bash的。

建议直接使用warning方法,保证输出级别足够。

另外,在python方法里,调用python的log输出;bash方法里调用bash的log输出;不然会出错。

bash方法使用时注意inherit logging。

 

Python举例:

bsp_number = "FF002201BAA"

bb.warn(bsp_number)

 

 

3.30.11 Recipe Logging Mechanisms

The Yocto Project provides several logging functions for producing debugging output and reporting errors and warnings. For Python functions, the following logging functions are available. All of these functions log to ${T}/log.do_task, and can also log to standard output (stdout) with the right settings:

  • bb.plain(msg): Writes msg as is to the log while also logging to stdout.

  • bb.note(msg): Writes “NOTE: msg” to the log. Also logs to stdout if BitBake is called with “-v”.

  • bb.debug(level, msg): Writes “DEBUG: msg” to the log. Also logs to stdout if the log level is greater than or equal to level. See the “-D” option in the BitBake User Manual for more information.

  • bb.warn(msg): Writes “WARNING: msg” to the log while also logging to stdout.

  • bb.error(msg): Writes “ERROR: msg” to the log while also logging to standard out (stdout).

    Note

    Calling this function does not cause the task to fail.

  • bb.fatal(msg): This logging function is similar to bb.error(msg) but also causes the calling task to fail.

    Note

    bb.fatal() raises an exception, which means you do not need to put a “return” statement after the function.

The same logging functions are also available in shell functions, under the names bbplain, bbnote, bbdebug, bbwarn, bberror, and bbfatal. The logging class implements these functions. See that class in the meta/classes folder of the Source Directory for information.

3.30.11.1 Logging With Python

When creating recipes using Python and inserting code that handles build logs, keep in mind the goal is to have informative logs while keeping the console as “silent” as possible. Also, if you want status messages in the log, use the “debug” loglevel.

Following is an example written in Python. The code handles logging for a function that determines the number of tasks needed to be run. See the “do_listtasks” section for additional information:

python do_listtasks() {

bb.debug(2, "Starting to figure out the task list")

if noteworthy_condition:

bb.note("There are 47 tasks to run")

bb.debug(2, "Got to point xyz")

if warning_trigger:

bb.warn("Detected warning_trigger, this might be a problem later.")

if recoverable_error:

bb.error("Hit recoverable_error, you really need to fix this!")

if fatal_error:

bb.fatal("fatal_error detected, unable to print the task list")

bb.plain("The tasks present are abc")

bb.debug(2, "Finished figuring out the tasklist")}

3.30.11.2 Logging With Bash

When creating recipes using Bash and inserting code that handles build logs, you have the same goals - informative with minimal console output. The syntax you use for recipes written in Bash is similar to that of recipes written in Python described in the previous section.

Following is an example written in Bash. The code logs the progress of the do_my_function function.

do_my_function() {

bbdebug 2 "Running do_my_function"

if [ exceptional_condition ]; then

bbnote "Hit exceptional_condition"

fi

bbdebug 2 "Got to point xyz"

if [ warning_trigger ]; then

bbwarn "Detected warning_trigger, this might cause a problem later."

fi

if [ recoverable_error ]; then

bberror "Hit recoverable_error, correcting"

fi

if [ fatal_error ]; then

bbfatal "fatal_error detected"

fi

bbdebug 2 "Completed do_my_function"}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-2773.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

IntentService源码分析指南

转载链接:https://www.jianshu.com/p/8a3c44a9173a...

Flink大数据实时计算系列-第一个程序JAVA版本-分组统计

Flink大数据实时计算系列-第一个程序JAVA版本-分组 在基线版本上增加了分组统计的代码 #Flink代码 package com.flinkniu.flink.operator;import org.apache.flink.api.common.typeinfo.Types; import org.apache.flink...

Ant Design Vue实现a-table表格单元格合并

Ant Design Vue实现a-table表格单元格合并 参考Ant design Vue官网关于行和列合并api https://antdv.com/components/table-cn/ 下面官网对表格合并这块的描述 !!!注意注意注意重要事情说三遍:很多同学都习惯性的将columns写在d…...

css中id和class的区别

css中id和class的区别ID是唯一的类不是唯一的语法区别ID是唯一的 每个元素仅可以有一个ID每个页面仅可以有一个元素拥有这个ID 类不是唯一的 你可以在多个元素中使用相同的类你可以使用多个类在一个元素中 语法区别 id对应css是用样式选择符“#”(井号&#xff…...

力扣刷题:动态规划篇

目录322. 零钱兑换题目介绍题目实现5. 最长回文子串题目介绍题目实现518. 零钱兑换 II题目介绍题目实现53. 最大子序和题目介绍题目实现63. 不同路径 II题目介绍[62. 不同路径](https://leetcode-cn.com/problems/unique-paths/)题目实现70. 爬楼梯题目介绍题目实现72. 编辑距离…...

Java面试list 和 set 区别

List和Set的区别 List::有序,按对象进入的的序保存对象,可可允许多个Null元素对象,可以使用lterator迭取出所有元素。在逐一便历,也可以使用get(int index)获取指定下标的元素 Set:无序,不可重复…...

诚意分享:这里有份超全Java体系化进阶学习图谱

摘要 Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log),之后成为Apache项目的一部分。 成千上万的企业都在使用Kafka,三分之一的世界500强公司也在其中&…...

Twitter教程:如何下载Twitter数据副本?

Twitterrific Mac破解版是一款非常现代化优秀的桌面Twitter客户端,这款软件不仅看起来惊人,它的表现也是非常棒的,本文给大家的带来了如何下载Twitter数据副本的教程。 教程如下 在 iPhone 或 iPad 上打开“Twitter”。(您也可以使用 Twitter.com 网站&#xff09…...

【内网学习笔记】8、powercat 的使用

1、下载安装 powercat powercat 可以视为 nc 的 powershell 版本,因此也可以和 nc 进行连接。 powercat 可在 github 进行下载,项目地址为:https://github.com/besimorhino/powercat 下载下来 powercat.ps1 文件后,直接导入即可…...

栈和队列(二) : 用栈实现队列

leetcode232.用栈实现队列 https://leetcode-cn.com/problems/implement-queue-using-stacks/ 使用栈实现队列的下列操作: push(x) – 将一个元素放入队列的尾部。 pop() – 从队列首部移除元素。 peek() – 返回队列首部的元素。 empty() – 返回队列是否为空。…...

测试技巧:弱网测试

弱网测试场景 当前APP网络环境比较复杂,网络制式有2G、3G、4G网络,还有越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响。另外,当前app使用场景多变,如进地铁、上公交、进电梯等…...

PMP哪里报名

首先了解下PMP考试时间,一年四次,正常情况是每年3、6、9、12月份考试; 其次了解PMP考试需要两次报名,分别是英文报名和中文报名;且两次报名通过后,才能正常考试。 下面分别介绍PMP英文报名和PMP考试中文报…...

Thread类的常用方法

Thread类的常用方法 void start(): 启动线程,并执行对象的run()方法run(): 线程在被调度时执行的操作static Thread currentThread(): 返回当前线程。在Thread子类中就 是this,通常用于主线程和Runnable实现类String getName(): 返回线程的名…...

浅谈设计模式(三)

前言 之前详细介绍了几种常用的设计模式,最后总结一下附上所有设计模式的类图以及六大设计原则 一、创建型 1.Factory Method(工厂方法) 定义:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法…...

AR增强现实让科技贴近生活

AR也叫增强现实,它是在1990年被正式提出的,在时间上要比VR虚拟现实技术晚一些,它的实现主要通过三维空间、场景交融、现实视频等技术相互作用、融合实现的。 AR增强现实技术在工业领域中,有着超强的适用性,假设某件工…...

c++程序设计中虚基类,多继承知识点

一.前言 如上 二.题目 分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派 生出新类Teacher_Cadre(教师兼干部)类。要求: (1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 (2&a…...

FFmpeg:avcodec_encode_video()

本文简单分析FFmpeg的avcodec_encode_video2()函数。该函数用于编码一帧视频数据。avcodec_encode_video2()函数的声明位于libavcodec\avcodec.h,如下所示。 /*** Encode a frame of video.** Takes input raw video data from frame and writes the next output p…...

SpringBoot中必须掌握的45个注解

1.SpringBoot/spring SpringBootApplication: 包含Configuration、EnableAutoConfiguration、ComponentScan通常用在主类上; Repository: 用于标注数据访问组件,即DAO组件; Service: 用于标注业务层组件; RestController: …...

侯捷CPP---面向对象(上)

侯捷CPP---面向对象(上)前言头文件防卫式声明class 分类不带指针的class(complex)成员变量私有化inline function(内联函数)构造函数常量成员函数参数传递返回值传递友元函数操作符重载临时对象带指针的cla…...

使用注解开发

1; 2.mapper 2.测试...

投顶会的流程——2021 NIPS

NeurIPS | 2021 NIPS(NeurIPS),全称神经信息处理系统大会(Conference and Workshop on Neural Information Processing Systems),是一个关于机器学习和计算神经科学的国际会议。该会议固定在每年的12月举行,由NIPS基金会主办。NI…...

《云计算开放应用架构》标准发布,阿里云持续领航云原生

简介:阿里云致力于为企业打造数字创新的最短路径,从实战中来,为价值而生。5月26日,在 2021 云原生产业大会上,中国信通院联合 CNCF 发布 2021 年云原生优秀案例以及技术创新案例。阿里云容器服务 ACK/Serverless K8s (…...

自适应平台AUTOSAR(Adaptive Platform AUTOSAR)平台设计(6)——通信管理

参考: https://zhuanlan.zhihu.com/p/336833453 1.概述 通信管理负责分布式实时嵌入式环境中应用程序之间的所有通信。 背后的概念是从实际机制中抽象出来,以查找和连接通信伙伴,以便应用程序软件的实现者可以专注于其应用程序的特定目的。…...

GitHub学习之GitHub相关的几个网站

1.https://github.community/ GitHub社区,在里面可以跟根底的大神进行讨论 2.https://docs.github.com/ GitHub相关文档,小白必看,我看了大概3天,从头到尾耐心看一篇,操作一遍,可以少踩很多坑 3.h…...

Study_microblog笔记Part 1--Jinja2的应用

模板有助于实现页面展现和业务逻辑之间的分离。 在Flask中作用Jinja2模板,模板被编写为单独的文件,存储在应用程序包内的templates文件夹中。 1、在app下创建一个存储模板的目录templates,创建第一个模板文件,这个文件写在app/tem…...

vsftpd2.3.4著名笑脸漏洞复现实战

1.vsftpd手工利用 攻击机kali:192.168.182.133 靶机metasploit:192.168.182.128 先ping一下靶机看看靶机是否存活 接着使用nmap对靶机进行信息收集 这里可以看到版本是vsftpd2.3.4 漏洞是存在的 直接ftp连接靶机 用户名:user:) 密码随意…...

Twitter教程:如何下载Twitter数据副本?

Twitterrific Mac破解版是一款非常现代化优秀的桌面Twitter客户端,这款软件不仅看起来惊人,它的表现也是非常棒的,本文给大家的带来了如何下载Twitter数据副本的教程。 教程如下 在 iPhone 或 iPad 上打开“Twitter”。(您也可以使用 Twitter.com 网站&#xff09…...

记录一个docker容器内网络与主机不通的问题(桥接网络不通)

https://blog.csdn.net/weixin_33102135/article/details/111946436 测试docker已经部署上的流程: 进入容器内部执行,脚本。执行成功。 外网telnet连接显示连接不到端口。 在其他机器上部署该docker服务,docker-compse方式,可…...

Java面试list 和 set 区别

List和Set的区别 List::有序,按对象进入的的序保存对象,可可允许多个Null元素对象,可以使用lterator迭取出所有元素。在逐一便历,也可以使用get(int index)获取指定下标的元素 Set:无序,不可重复…...

CSS 透明,文字不透明处理

1.opacity:会使其所有子元素都透明 我们通常是使用 opacity来做背景的透明化处理,该属性被所有浏览器支持,可以大胆使用,透明度从0.0(完全透明)到1.0(完全不透明),但该方法会使其所有子元素都透明,此时若只…...

局域网云盘

1.使用软件chfs,这软件是免费的,可以在自己搭建云盘 2.下载地址:http://iscute.cn/chfs 3.windows安装,下载 gui-chfs-windows.zip ,解压之后直接运行,非常简单 4.设置: 4.1在共享目录中选择…...

vmware 虚拟机nat连接,局域网访问

vmware nat设置可以让虚拟机联网,这是比较常接触的用法。网上很多教程。 联网成功后想让局域网内别的机器访问,就需要绕个弯。nat的方式仅仅只是让你的虚拟机在你的机器上,通过你的网卡转发,才能访问网络。也就是说,你…...

大型局域网

大型局域网 大型局域网是一种具有复杂互连结构的局域网,通常被划分成不同的功能层次(核心层、汇聚层、接入层),典型的层次结构如下图所示。这种层次结构有利发挥联网设备的最大效率,使得故障定位可分级进行,便于维护和管理&#…...

局域网设置_如何设置局域网

局域网是一个指在某一个区域内有多部电脑互联成的计算机组。它可以实现文件管理、应用软件分享、电子邮件等功能,但它是封闭型的,可以由两部电脑组成,也可以由一千多部电脑组成。利用局域网实现共享上网,在节省网费的同时也提高了…...

家庭局域网_如何用电视盒子局域网共享电脑资源,赶紧Mark!

海美迪盒子解码强画质好,播放稳定,是我们观看影视内容的最佳伴侣。——广告结束进入正题——好多海粉们买了咱家海美迪盒子后,只知道看芒果/腾讯等在线视频,这,很浪费!很浪费!其实它还可以看你本…...

局域网搭建

局域网(Local Area Network,LAN)是在一个局部的地理范围内(如一个学校、工厂和机关内),一般是方圆几千米以内,将各种计算机,外部设备和数据库等互相联接起来组成的计算机通信网。 局…...

VLAN虚拟局域网

一、虚拟局域网 VLAN(Virtual Local Area Network) 定义:VLAN 是一种将局域网内的设备逻辑地划分成一个个网段从而实现虚拟工作组的技术。 ①VLAN 能够隔离广播域; ②VLAN 内的主机之间可以直接通信,而 VLAN 之间不…...

android如何局域网通信,android局域网怎么通信

合集游戏上线了,由于不同的盒子电视的遥控器差异性很大,造成我们游戏在操作体验上没法达到一致,下面是学习啦小编给大家整理的一些有关android局域网通信的方法,希望对大家有帮助!android局域网通信的方法用c socket去实现的话就得…...

局域网故障排查

前言 毕业后加入了一家做智能电视的公司做Android系统开发,同时做了兼职网管,后来换工作后,老东家新网管经常联系我问一些故障,于是就顺手有了这篇文章。 问题及解决办法 1. 局域网内部分主机分配到其它网段的IP,且…...

【关于lombok框架一文秒懂】

目录 1. Lombok框架 2. 安装lombok插件 1. Lombok框架 Lombok框架是用于在编译期自动生成相关代码的,例如:Setters & Getters、hashCode()、equals()、toString()、无参数构造方法、全参数构造方法等。 相关的注解有: Data&#xff1…...

局域网技术

1.IEEE于1980年成立了局域网委员会,专门从事局域网标准制定工作,并且制定了IEEE 802标准。IEEE 802标准包括局域网参考模型与各层协议。IEEE 802局域网参考模型只对应了OSI参考模型的数据链路层和物理层:它将数据链路层分为逻辑链路控制子层和…...

局域网怎么添加新的计算机用户,如何添加局域网

如何添加局域网导读:小编根据大家的需要整理了一份关于《如何添加局域网》的内容,具体内容:本文小编为大家介绍两种在WindowsXP操作系统下的组网方案,并介绍WindowsXP用于局域网中...本文小编为大家介绍两种在Windows XP操作系统下…...

攻击局域网计算机,如何攻击局域网电脑

如何攻击局域网电脑?1.知道到他的IP,然后在运行里面打上\\IP\C$,需要打用户名和密码,用户名打administrator,除非他没设置密码,你可以直接进入,然后可以任意改他C盘里面的东西,甚至直…...

计算机连入局域网需要配置,设置局域网

你会用来设置局域网吗!下面由学习啦小编带你一起去设置啦!局域网设置:配置网络(Virtual Private Network,虚拟专用网络)是专用网络的延伸,它包含了类似 Internet 的共享或公共网络连接。通过可以模拟点对点专用连接的方式通过共享或公共网络在…...

局域网攻击

arp攻击 必要内容 安装arpspoof文件 apt-get install dsniff1.检查以及获取网段 即查看局域网存活主机 fping -asg 192.168.1.1/24 或者-->nmap -sP ip 扫描常用的端口-->nmap -F -sT -v nmap.org注意点: ①攻击者的IP和被攻击者的IP需要在同一个网段中&a…...

无线局域网

一、无线局域网概述 1、WLAN在距离有限区域内实现无线通信,通常指采用无线传输介质的计算机局域网 2、优点:移动性、灵活性、可伸缩性、经济性 局限:可靠性、带宽与系统容量、兼容性与共存性、覆盖范围、干扰、安全性、移动性 二、无线局域网…...

鱼池将下线AE、HDAC矿池

据鱼池公告称,因AE、HDAC矿池的挖矿收益及矿工数量持续下降,可能导致币种网络安全问题增加,造成矿工损失。F2Pool鱼池将于2021年1月14日08:00停止提供以上两币种的挖矿服务。 文章链接:https://www.tuoluocaijing.cn/kuaixun/deta…...

轻松解决 f2pool鱼池ethermine连接失败antpool矿池连接不上的问题E池连接超时

上面有f2pool和ethermine 很简单一分钟学会,这里就重新复述一遍轻松的如何设置。 1点击主矿池旁边箭头,点击添加 2 名字随便填,矿池地址我这里选择的是本网站E池地址e.eth8.cn:3030,然后点确认 点击主矿池旁小箭头,找…...

鱼池域名转发

不懂的微信私聊 zeunpl 1.开启防火墙,开启NAT systemctl start firewalld firewall-cmd --add-masquerade --permanent2.开放TCP端口转发(本机端口6688转发到 172.65.210.108:6688) firewall-cmd --add-forward-portport6688:prototcp:topo…...

如何连接etc/eth池,最安全的方法是什么?

很多朋友都在寻找最安全的加密方式,大部分人自己买了一个海外服务器做中转,加上内核或者软件自带的ssl加密就认为安全。首先我们得先了解一下stratumtcp 和stratumssl。Stratum是一种长连接协议,目前只有在连接矿池才会用到。所以如果使用str…...