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

OpenHarmony子系统开发 - 调测工具(一)

OpenHarmony子系统开发 - 调测工具(一)


一、bytrace使用指导

简介

bytrace是开发人员用于追踪进程轨迹、分析性能的一种工具,主要对内核ftrace进行了封装和扩展,来支持用户态的打点。通过该工具可以打开想要查看的用户态和内核label(通过下面命令行bytrace -l,查看支持的所有label),然后通过命令行进行抓取trace信息到指定文件中。

参数说明

bytrace当前支持以下命令:

表1 命令行列表

OptionDescription
-h,--help查看option帮助
-b n,--buffer_size n指定_n_(KB)内存大小用于存取trace日志,默认2048KB
-t n,--time n用来指定trace运行的时间(单位:s),取决于需要分析过程的时间
--trace_clock clocktrace输出的时钟类型,一般设备支持boot、global、mono、uptime、perf等,默认为boot
--trace_begin启动抓trace
--trace_dump将数据输出到指定位置(默认控制台)
--trace_finish停止抓trace,并将数据输出到指定位置(默认控制台)
-l,--list_categories输出手机能支持的trace模块
--overwrite当缓冲区满的时候,将丢弃最新的信息。(默认丢弃最老的日志)
-o filename,--output filename指定输出的目标文件名称
-z抓取trace后进行压缩

使用实例

准备工作,使用bytrace工具需要先进入shell命令行:

hdc shell

以下是常用bytrace命令示例,供开发者参考:

  • 查询支持的label。
bytrace -l  

或者

bytrace --list_categories
  • 设置4M缓存,抓取10秒,抓取label为ability的trace信息。
bytrace -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
  • 设置trace的输出时钟为mono。
bytrace --trace_clock mono  -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace
  • 抓取trace后进行压缩。
bytrace -z  -b 4096 -t 10 --overwrite ability > /data/mytrace.ftrace

二、hdc使用指导

hdc(OpenHarmony Device Connector)是 OpenHarmony 为开发人员提供的用于调试的命令行工具,通过该工具可以在Windows/Linux/MacOS等系统上与开发机或者模拟器进行交互。

下文将介绍hdc的环境准备和常用命令及使用举例。

环境准备

hdc 工具获取方式:

通过OpenHarmony sdk获取,hdc在sdk的toolchains目录下。

使用举例:

下面以windows侧使用方式举例:

获取windows的sdk,将hdc.exe放到磁盘某个位置即可使用。

注意事项

  • 使用hdc,如果出现异常,可以尝试通过hdc kill命令杀掉hdc服务,或者通过hdc start -r命令重启服务进程进行解决。

  • 如果出现hdc list targets获取不到设备信息,通过任务管理器查看是否有hdc进程存在,如果进程存在,可以通过杀掉该进程进行解决。

option相关的命令

option涉及以下命令:

  • -h/help -v/version 用于显示hdc相关的帮助、版本信息。

    表1 命令说明

    返回值返回值说明
    返回对应信息帮助或者版本信息

    使用方法:

    hdc -h / hdc help
    
    hdc -v / hdc version
    
  • -l 0-5 用于指定运行时日志等级,默认为LOG_INFO。

    表2 命令说明

    参数参数说明
    0LOG_OFF
    1LOG_FATAL
    2LOG_WARN
    3LOG_INFO
    4LOG_DEBUG
    5LOG_ALL

    使用方法:

    hdc -l5 start
    
  • -t key 用于连接指定设备标识为key的设备。

    表3 命令说明

    参数参数说明
    key为 IP地址:port 格式,或者USB序列号
    返回值返回值说明
    ①error: device '***' not found
    ②Nothing to do...
    ①设备不存在
    ②附加的命令不存在

    使用方法:

    该option需要与具体的操作命令搭配使用,下面以shell命令举例:

    hdc list targets (获取设备信息)

    hdc -t key shell (-t后面添加的_key_ 需要替换为上面查询的设备信息)

    icon-note.gif

    说明: 一台开发机可支持多个设备连接,每个设备有其唯一的设备标识,如果通过网络与设备连接,其标识为IP地址:port格式,如果通过USB连接则标识为设备sn号。该命令需要跟随具体操作命令。

  • checkserver 用于获取client-server版本。

    表4 命令说明

    返回值返回值说明
    Client version: server version:client-server版本号

    使用方法:

    hdc checkserver
    

查询设备列表的命令

查询设备列表涉及以下命令:

list targets[-v]

显示所有已经连接的目标设备列表

表5 命令说明

参数参数说明
-v添加-v选项,则会打印设备详细信息
返回值返回值说明
①返回设备信息
②[Empty]
①已经连接的设备列表信息
②没有查询到设备信息

使用方法:

hdc list targets
hdc list targets -v

服务进程相关命令

服务进程涉及以下命令:

  • target mount 以读写模式挂载系统分区。

    表6 命令说明

    参数参数说明
    返回值返回值说明
    ①Mount finish
    ②返回具体信息
    ①成功情况下返回的信息
    ②失败情况下的具体信息

    使用方法:

    hdc target mount
    
  • target boot 设备重启。

    使用方法:

    hdc target boot
    
  • smode [-r] 授予后台服务进程root权限, 使用-r参数取消授权。

    使用方法:

    hdc smode
    
    hdc smode -r
    
  • kill [-r] 终止服务进程。

    表7 命令说明

    参数参数说明
    -r触发服务重启
    返回值返回值说明
    ①Kill server finish
    ②返回具体信息
    ①成功情况下返回的信息
    ②失败情况下的具体信息

    使用方法:

    hdc kill
    
  • start [-r] 启动服务进程。

    表8 命令说明

    参数参数说明
    -r如果服务进程已经启动,-r选项会触发服务进程重新启动
    返回值返回值说明

    使用方法:

    hdc start
    

网络相关的命令

网络部分涉及以下命令:

  • tconn host[:port][-remove] 通过【ip地址:端口号】来指定连接的设备

    表9 命令说明

    参数参数说明
    host[:port]为IP地址:port格式
    -remove表示断开与指定设备的连接
    返回值返回值说明
    ①返回具体信息
    ②无
    ①失败情况下的具体信息
    ②成功情况下无返回值

    使用方法(举例):

    hdc tconn 192.168.0.100:8710
    
  • tmode usb 执行后设备端对应daemon进程重启,并首先选用USB连接方式。

    表10 命令说明

    参数参数说明
    返回值返回值说明
    ①返回具体信息
    ②无
    ①失败情况下的具体信息
    ②成功情况下无返回值

    使用方法:

    hdc tmode usb
    
  • tmode port port-number 执行后设备端对应daemon进程重启,并优先使用网络方式连接设备,如果连接设备失败,再选择USB连接。

    表11 命令说明

    参数参数说明
    port-numberlisten连接的网络端口号
    返回值返回值说明
    ①返回具体信息
    ②无
    ①失败情况下的具体信息
    ②成功情况下无返回值

    使用方法:

    hdc tmode port 8710
    

    icon-note.gif

    说明: 执行完毕后,远端daemon将会退出并重启,默认启用TCP连接,如果不加上listen端口则listen随机端口。

  • fport localnode remotenode 端口转发,指定 主机端口 转发数据到 设备侧端口。

    使用方法:

    hdc fport tcp:1234 tcp:1080
    
  • rport remotenode localnode 端口转发,指定 设备侧端口 转发数据到 主机端口。

    使用方法:

    hdc rport tcp:2080 tcp:2345
    
  • fport ls 列出全部转发端口转发任务。

    表12 命令说明

    参数参数说明
    返回值返回值说明
    'tcp:1234 tcp:1080' [Forward]正向端口转发任务
    'tcp:2080 tcp:2345' [Reverse]反向端口转发任务

    使用方法:

    hdc fport ls
    
  • fport rm 删除指定端口转发任务。

    使用方法:

    hdc fport rm tcp:1234 tcp:1080
    

文件相关的命令

文件部分涉及以下命令:

  • file send local remote 发送文件至远端设备。

    表13 命令说明

    参数参数说明
    local本地待发送文件路径
    remote远程待接收文件路径
    返回值返回值说明
    ①返回具体信息
    ②返回传输结果
    ①失败情况下的具体信息
    ②成功传输的结果信息

    使用方法(举例):

    hdc file send E:\a.txt   /data/local/tmp/a.txt
    
  • file recv [-a] remote local 从远端设备接收文件至本地。

    表14 命令说明

    参数参数说明
    -a文件保留时间戳模式
    local本地待接收文件路径
    remote远程待发送文件路径
    返回值返回值说明
    ①返回具体信息
    ②无
    ①失败情况下的具体信息
    ②成功情况下无返回值

    使用方法(举例):

    hdc file recv  /data/local/tmp/a.txt   ./a.txt
    

应用相关的命令

应用部分涉及以下命令:

  • install [-r/-d/-g] package 安装OpenHarmony APP package。

    表15 命令说明

    参数参数说明
    packageOpenHarmony应用安装包文件名
    -r替换已存在应用
    -d允许降级安装
    -g应用动态授权
    返回值返回值说明
    ①返回具体信息
    ②无
    ①失败情况下的具体信息
    ②成功情况下无返回值

    使用方法(举例):

    hdc install hwadmin.hap
    
  • uninstall [-k] package 卸载OpenHarmony应用。

    表16 命令说明

    参数参数说明
    packageOpenHarmony应用安装包
    -k保留/data/cache
    返回值返回值说明
    ①返回具体信息
    ②无
    ①失败情况下的具体信息
    ②成功情况下无返回值

    使用方法(举例):

    hdc uninstall package
    

调试相关的命令

调试涉及以下命令:

  • hilog 支持抓取log信息。

    表17 命令说明

    参数参数说明
    返回值返回值说明
    返回具体信息抓取的日志信息

    抓取hilog日志:

    hdc hilog
    

    清理hilog缓存日志:

    hdc shell "hilog -r"
    
  • shell [command] 远程执行命令或进入交互命令环境。

    表18 命令说明

    参数参数说明
    command需要执行的单次命令
    返回值返回值说明
    返回具体信息shell后面执行命令的结果信息

    使用方法:

    hdc shell
    
  • jpid 获取可调试进程列表。

    使用方法:

    hdc jpid
    

常见问题

hdc连接不到设备

  • 现象描述 执行 "hdc list targets"命令后结果为:[Empty]

  • 解决方法

    1. 设备没有被识别: 在设备管理器中查看是否有hdc设备,在通用串行总线设备中会有“HDC Device”信息。如果没有,hdc无法连接。此时需要断开并重联PC和OpenHarmony设备之间的USB连接,或者烧写最新的镜像。
    2. hdc工作异常: 可以执行"hdc kill"或者"hdc start -r"杀掉hdc服务或者重启hdc服务,然后再执行hdc list targets查看是否已经可以获取设备信息。
    3. hdc与设备不匹配: 如果设备烧写的是最新镜像,hdc也需要使用最新版本。

hdc运行不了

  • 现象描述 点击hdc.exe文件无法运行。

  • 解决方法

    1. 运行环境异常: linux版本建议ubuntu 18.04以上 64位,其他相近版本也可;libc++.so引用错误请使用ldd/readelf等命令检查库引用 windows版本建议windows10 64位,如果低版本windows winusb库缺失,请使用zadig更新库。对于复合设备,需要使用zadig工具安装libusb-win32驱动。
    2. 如何运行hdc.exe: hdc.exe不需要安装,直接放到磁盘上就能使用,也可以添加到环境变量中。通过打开cmd执行hdc命令直接使用。

hdc client如何远程访问hdc server

  • 使用场景

    本地client指定远程server上的设备,执行hdc命令。

  • 连接步骤

    1. 关闭本地sever:
      hdc kill
      
    2. -s [ip:]port -m 启动远程server:
      hdc -s severIP:8710 -m
      
    3. -s [ip:]port command 指定server执行指令:
      hdc -s severIP:8710 list targets
      

相关文章:

OpenHarmony子系统开发 - 调测工具(一)

OpenHarmony子系统开发 - 调测工具(一) 一、bytrace使用指导 简介 bytrace是开发人员用于追踪进程轨迹、分析性能的一种工具,主要对内核ftrace进行了封装和扩展,来支持用户态的打点。通过该工具可以打开想要查看的用户态和内核l…...

Qt中的鼠标事件

1.鼠标进入事件和鼠标离开事件 1.1添加新文件 1.2ui界面 拖出一个Label控件&#xff0c;修改frameShape为Box&#xff0c;使边框更明显 1.3代码实现 #ifndef MYLABEL_H #define MYLABEL_H#include <QLabel>class myLabel : public QLabel {Q_OBJECT public:explicit m…...

MySQL JOIN详解:INNER JOIN与LEFT JOIN的选择与应用

在数据库查询中&#xff0c;JOIN操作是最常用也最重要的操作之一。不同的JOIN类型会导致完全不同的查询结果&#xff0c;正确选择JOIN类型是编写高效、准确SQL查询的关键。本文将深入探讨INNER JOIN和LEFT JOIN的区别、应用场景以及常见问题。 一、JOIN基础概念 1. 什么是JOI…...

Flink 反压下的 TCP 流控制

1. 什么是 Flink 反压和 TCP 流控制&#xff1f; 反压&#xff08;Backpressure&#xff09;是什么&#xff1f; 反压是分布式流处理系统中一种自我调节机制。当下游处理数据的速度跟不上上游发送数据的速度时&#xff0c;反压会让上游放慢发送速度&#xff0c;以避免系统过载…...

山东大学软件学院项目实训开发日志(7)之测试前后端本地部署

基于队长搭建的springbootvue框架&#xff0c;在本地进行测试搭建。 在运行后端过程中&#xff0c;出现下图错误&#xff1a; 查找后发现这个问题出现在 Maven 项目的 pom.xml 文件中&#xff0c;显示找不到一些依赖项。所以在此进行最简单的重新加载项目得以解决&#xff0c;…...

YOLOv11训练中精准率召回率与mAP@0.5的动态变化分析

目标检测模型的训练过程涉及多个关键性能指标和损失函数的变化&#xff0c;这些数据能够直观反映模型的收敛速度、最终精度以及改进效果。本文旨在通过绘制YOLOv11模型在训练过程中的精准率&#xff08;Precision&#xff09;、召回率&#xff08;Recall&#xff09;、mAP0.5 、…...

Windows下ElasticSearch8.x的安装步骤

下载ElasticSearch&#xff1a;https://www.elastic.co/downloads/elasticsearch &#xff08;我下载的是目前最新版8.17.4&#xff09;解压ElasticSearch 进入到ElasticSearch的bin目录下双击elasticsearch.bat 弹出控制台并开始执行&#xff0c;在这一步会输出初始账号和密码…...

Leetcode hot100 (day 8,9)

爬楼梯 做法一&#xff1a;小斐波那契数列&#xff0c;只要注意记忆化递归即可 class Solution { public:int dp[50];int climbStairs(int n) {if(dp[n])return dp[n];if(n2){return dp[2]2;}if(n1){return dp[1]1;}//if(dp[n])return dp[n];return dp[n]climbStairs(n-1)clim…...

LinuxSocket套接字编程

1.介绍函数使用 1.创建套接字 int socket(int domain, int type, int protocol); domain&#xff1a;指定协议族&#xff0c;如AF_INET&#xff08;IPv4&#xff09;或AF_INET6&#xff08;IPv6&#xff09;。 type&#xff1a;指定套接字类型&#xff0c;如SOCK_DGRAM&#…...

青少年编程考试 CCF GESP Python五级认证真题 2025年3月

Python 五级 2025 年 03 月 题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答案 A A A B D B A D A D C A A D B 1 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 第 1 题 链表不具备的特点是( )。 A. 可随机访问任何一个元素 B. 插入、删除操作不需要移动元素 C…...

Java-对比两组对象找出发生变化的字段工具-支持枚举映射-支持时间-支持显示对应字段中文描述-嵌套list等场景

实体字段比较器&#xff08;对比两组对象找出发生变化的字段工具类开发&#xff09; 支持枚举映射 支持时间 支持显示对应字段中文描述 支持嵌套list等场景 下载地址&#xff1a; Java-对比两组对象找出发生变化的字段工具-支持枚举映射-支持时间-支持显示对应字段中文描述-嵌…...

电影舆情分析可视化平台管理端实现

电影舆情分析可视化平台管理端实现 系统概述 本系统的用户主要有三类&#xff0c;游客、普通用户以及电影从业人员。 面向游客和普通用户的是电影网站&#xff0c;系统提供一个便捷的平台&#xff0c;供普通用户搜索和了解电影的基本信息&#xff0c;支持电影预告片播放&…...

【Linux】进程信号(下)

在上一篇中&#xff0c;我们详细探讨了信号的预备知识和产生方式&#xff08;如硬件异常、终端输入、kill命令、系统调用等&#xff09;及其背后的操作系统行为。信号作为进程间异步通信的核心机制&#xff0c;其生命周期远不止“产生”这一环节——信号的保存与处理才是实现可…...

华为数字芯片机考2025合集2已校正

单选 1. 题目内容 关于亚稳态的描述错误的是&#xff08; &#xff09;。 1. 解题步骤 1.1 理解亚稳态&#xff08;Metastability&#xff09;的核心特性 亚稳态是指触发器无法在指定时间内稳定输出有效逻辑电平&#xff08;0或1&#xff09;的状态&#xff0c;其关键特点…...

【大模型微调】如何解决llamaFactory微调效果与vllm部署效果不一致如何解决

以下个人没整理太全 一、生成式语言模型的对话模板介绍 使用Qwen/Qwen1.5-0.5B-Chat训练 对话模板不一样。回答的内容就会不一样。 我们可以看到例如qwen模型的tokenizer_config.json文件&#xff0c;就可以看到对话模板&#xff0c;一般同系列的模型&#xff0c;模板基本都…...

基于视觉语言模型的机器人实时探索系统!ClipRover:移动机器人零样本视觉语言探索和目标发现

作者&#xff1a;Yuxuan Zhang 1 ^{1} 1, Adnan Abdullah 2 ^{2} 2, Sanjeev J. Koppal 3 ^{3} 3, and Md Jahidul Islam 4 ^{4} 4单位&#xff1a; 2 , 4 ^{2,4} 2,4佛罗里达大学电气与计算机工程系RoboPI实验室&#xff0c; 1 , 3 ^{1,3} 1,3佛罗里达大学电气与计算机工程系F…...

Java常用工具算法-6--秘钥托管云服务AWS KMS

前言&#xff1a; 之前我们介绍了一些常用的加密算法&#xff08;如&#xff1a;对称加密AES&#xff0c;非对称加密RSA&#xff0c;ECC等&#xff09;&#xff0c;不论是哪一种都需要涉及到秘钥的管理。通常的做法都是把秘钥放到配置文件中进行配置&#xff0c;但是对于一些高…...

Shell脚本的学习

编写脚本文件 定义以开头&#xff1a;#!/bin/bash #!用来声明脚本由什么shell解释&#xff0c;否则使用默认shel 第一步&#xff1a;编写脚本文件 #!/bin/bash #注释 echo "这是输出" 第二步&#xff1a;加上执行权限&#xff1a;chmod x 脚本文件名.sh 第三步&…...

Java——pdf增加水印

文章目录 前言方式一 itextpdf项目依赖引入编写PDF添加水印工具类测试效果展示 方式二 pdfbox依赖引入编写实现类效果展示 扩展1、将inputstream流信息添加水印并导出zip2、部署出现找不到指定字体文件 资料参考 前言 近期为了知识库文件导出&#xff0c;文件数据安全处理&…...

Redis过期key处理、内存淘汰策略与缓存一致性策略实践方案

在现代的高性能应用开发中&#xff0c;Redis作为一款极为热门的内存数据库&#xff0c;其快速的读写性能和丰富的数据结构使其在缓存、消息队列等诸多领域得到了广泛应用。然而&#xff0c;在实际使用过程中&#xff0c;处理好Redis过期key、选择合适的内存淘汰策略以及确保缓存…...

深入 C++ 线程库:从创建到同步的探索之旅

C在<thread>中定义了C线程库. 创建多线程 #include <iostream> #include <thread> using namespace std; void show(int id, int count) { //线程函数for (int i 0; i < count; i) {cout << "id:" << id << ",值:&qu…...

LangChain使用大语言模型构建强大的应用程序

LangChain简介 LangChain是一个强大的框架&#xff0c;旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口&#xff0c;可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#xff…...

程序化广告行业(72/89):Tag Manager系统代码操作与行业发展剖析

程序化广告行业&#xff08;72/89&#xff09;&#xff1a;Tag Manager系统代码操作与行业发展剖析 大家好&#xff01;在技术领域不断探索的过程中&#xff0c;我深刻体会到知识共享的重要性。写这篇博客&#xff0c;就是希望能和大家一起深入了解程序化广告行业&#xff0c;…...

数据结构实验3.3:求解迷宫路径问题

文章目录 一&#xff0c;问题描述二&#xff0c;基本要求三&#xff0c;算法分析&#xff08;一&#xff09;整体思路&#xff08;二&#xff09;详细步骤1. 输入迷宫大小并生成迷宫2. 定义走步规则3. 深度优先搜索&#xff08;DFS&#xff09;4. 输出结果 &#xff08;三&…...

基于SpringBoot的线上历史馆藏系统【附源码】

基于SpringBoot的线上历史馆藏系统&#xff08;源码L文说明文档&#xff09; 4 系统设计 系统在设计的过程中&#xff0c;必然要遵循一定的原则才可以&#xff0c;胡乱设计是不可取的。首先用户在使用过程中&#xff0c;能够直观感受到功能操作的便利性&#xff0c;符合…...

Mybatis的springboot项目使用

删除数据 & 占位符 一般常用占位符进行数据库操作&#xff0c;也就是预编译sql。 在UserMapper中定义删除接口 /** 根据id删除用户*/ Delete("delete from user where id #{id}") void deleteById(Integer id);若想要获取返回值&#xff0c;声明为Integer (s…...

网站集群批量管理-Ansible剧本与变量

复盘内容&#xff1a;链接指北 查看ansible命令文档 ansible-doc -s systemd一、剧本 何为剧本: playbook 文件,用于长久保存并且实现批量管理,维护,部署的文件. 类似于脚本存放命令和变量 剧本yaml格式,yaml格式的文件:空格,冒号. 剧本未来我们批量管理,运维必会的内容. …...

HOW - React Developer Tools 调试器

目录 React Developer Tools使用Components 功能特性1. 查看和编辑 props/state/hooks2. 查找组件3. 检查组件树4. 打印组件信息5. 检查子组件 Profiler 功能特性Commit ChartFlame Chart 火焰图Ranked Chart 排名图 why-did-you-render 参考文档&#xff1a; React调试利器&a…...

Spring Cloud Alibaba微服务治理实战:Nacos+Sentinel深度解析

一、引言 在微服务架构中&#xff0c;服务发现、配置管理、流量控制是保障系统稳定性的核心问题。Spring Cloud Netflix 生态曾主导微服务解决方案&#xff0c;但其部分组件&#xff08;如 Eureka、Hystrix&#xff09;已进入维护模式。 Spring Cloud Alibaba 凭借 高性能、轻…...

《AI换脸时代的攻防暗战:从技术滥用走向可信未来》

技术迭代图谱 过去五年里&#xff0c;Deepfake技术经历了飞速迭代&#xff0c;从最初的萌芽到如今的广泛应用和对抗措施形成。2017年前后&#xff0c;利用深度学习进行人脸换装的技术首次在社区中出现。一位Reddit网友昵称“deepfakes”&#xff0c;将名人面孔替换到色情影片上…...

25/4/9 算法笔记 DBGAN+强化学习+迁移学习实现青光眼图像去模糊1

整体实验介绍 实验主要是结合DBGAN对抗网络强化学习增强迁移学习增强实现青光眼图像去模糊。今天则是先完成了DBGAN板块模型的训练。 实验背景介绍 青光眼的主要特征有&#xff1a; 视盘形态与杯盘比CDR&#xff1a;青光眼患者主要表现为视杯扩大&#xff0c;盘沿变窄。 视…...

【Claude AI大语言模型连接Blender生成资产】Windows安装Blender MCP教程

前言 最近在学习资产制作&#xff0c;了解到了个好玩的东西&#xff0c;利用AI一步一步搭建资产&#xff1a; 上面这副图就是利用Claude AI调用Blender的Python接口一步一步实现的&#xff0c;挺丑但好玩。 安装教程 进入Github: Blender-MCP 网站&#xff0c;下载该项目&a…...

JSP运行环境安装及常用HTML标记使用

制作一个静态网站的基本页面index.html 实验代码&#xff1a;<form> <label for"username">用户名:</label> <input type"text" id"username" name"username"><br> <label for"password&…...

Git 的进阶功能和技巧

1、分支的概念和使用 1.1、什么是分支&#xff1f; 分支&#xff08;Branch&#xff09;是在版本控制中非常重要的概念。几乎所有版本控制系统都支持某种形式的分支。在 Git 中&#xff0c;分支是 Git 强大功能之一&#xff0c;它允许我们从主开发线分离出来&#xff0c;在不…...

WSL1升级到WSL2注意事项

今天要在WSL上安装docker&#xff0c;因为机器上安装了wsl1&#xff0c;docker安装后启动不了&#xff0c;通过询问deepseek发现docker只能在wsl2上安装&#xff0c;因此就想着将本机的wsl1升级到wsl2。 确保你的 Windows 系统是 Windows 10&#xff08;版本 1903 及以上&…...

392. 判断子序列

https://leetcode.cn/problems/is-subsequence/?envTypestudy-plan-v2&envIdtop-interview-150因为是子序列我们只要关心后一个字符在前一个字符后面出现过就行&#xff0c;至于在哪出现出现几次我们不关心&#xff0c;所以我们可以用HashMap<Character, ArrayList<…...

在 VMware 中为 Ubuntu 24.04 虚拟机设置共享文件夹后,在虚拟机中未能看到共享的内容

在 VMware 中为 Ubuntu 24.04 虚拟机设置共享文件夹后&#xff0c;如果在虚拟机中未能看到共享的内容&#xff0c;可能是由于以下原因&#xff1a; VMware Tools 未正确安装&#xff1a;共享文件夹功能依赖于 VMware Tools 或 Open VM Tools。如果未安装或安装不完整&#xff0…...

台式电脑插入耳机没有声音或麦克风不管用

目录 一、如何确定插孔对应功能1.常见音频插孔颜色及功能2.如何确认电脑插孔?3.常见问题二、 解决方案1. 检查耳机连接和设备选择2. 检查音量设置和静音状态3. 更新或重新安装声卡驱动4. 检查默认音频格式5. 禁用音频增强功能6. 排查硬件问题7. 检查系统服务8. BIOS设置(可选…...

Windchill开发-WTContainer相关API整理

Windchill开发-WTContainer相关API整理 概述各容器对象相关方法站点容器组织容器产品容器/存储库容器上下文团队角色组 文件夹 方法汇总 概述 Windchill 的环境由一组容器组成&#xff0c;容器分为三级&#xff1a;第一级为站点容器&#xff0c;第二级为组织容器&#xff0c;第…...

理解JSON-RPC 2.0 协议

JSON-RPC 2.0是指一种基于 JSON 的远程过程调用协议&#xff0c;用于在网络上进行跨平台和跨语言的通信。它提供了一种简单、轻量级的方式来实现客户端和服务器之间的方法调用和数据交换。在原文中&#xff0c;JSON-RPC 2.0被用来描述 STDIO 传输机制中消息的格式&#xff0c;即…...

【 C# 使用 MiniExcel 库的典型场景】

以下是 C# 使用 MiniExcel 库的典型场景及代码示例&#xff1a; 一、基础读取操作 强类型读取‌&#xff08;需定义数据模型类&#xff09; 定义与 Excel 列名匹配的类后直接映射为对象集合&#xff1a; csharp Copy Code public class UserAccount { public int Id { get; …...

创建 Pod 失败,运行时报错 no space left on device?

遇到创建Pod失败并报错“no space left on device”时&#xff0c;请按照以下步骤排查和解决问题&#xff1a; 1. 定位问题来源 查看Pod事件&#xff1a; kubectl describe pod <pod-name> -n <namespace> 在输出中查找 Events 部分&#xff0c;确认错误是否与…...

[leetcode]查询区间内的所有素数

一.暴力求解 #include<iostream> #include<vector> using namespace std; vector<int> result; bool isPrime(int i) { if (i < 2) return false; for (int j 2;j * j < i;j) { if (i % j 0) { …...

【Web安全】如何在 CDN 干扰下精准检测 SSRF?Nuclei + Interactsh 实战

❤️博客主页&#xff1a; iknow181 &#x1f525;系列专栏&#xff1a; 网络安全、 Python、JavaSE、JavaWeb、CCNP &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐评论✍ 背景 在日常漏洞复核中&#xff0c;我们常用 DNSLog 平台判断目标是否存在 SSRF 漏洞&#xff1a;只要请…...

输入框只能输入非中文字符

在 Qt 中&#xff0c;可以通过设置输入法过滤器&#xff08;QInputContext&#xff09;或使用正则表达式来限制输入框&#xff08;QLineEdit 或 QTextEdit&#xff09;只能输入非中文字符。以下是两种实现方法&#xff1a; ### 方法 1&#xff1a;使用正则表达式 可以通过 QLi…...

LeeCode 136. 只出现一次的数字

给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空间。 示例 1 &#xff1a; 输入&#xff1…...

Traefik应用:配置容器多个网络时无法访问问题

Traefik应用&#xff1a;配置容器多个网络时无法访问问题 介绍解决方法问题原因&#xff1a; **容器多网络归属导致 Traefik 无法正确发现路由规则**。解决方案方法 1&#xff1a;将应用容器 **仅连接** 到 traefik-public 网络方法 2&#xff1a;显式指定 Traefik 监听的网络 …...

超便捷超实用的文档处理工具,PDF排序,功能强大,应用广泛,无需下载,在线使用,简单易用快捷!

小白工具https://www.xiaobaitool.net/files/pdf-sort/ 中的 PDF 排序功能是一项便捷实用的文档处理服务&#xff0c;以下是其具体介绍&#xff1a; 操作便捷直观&#xff1a;用户上传 PDF 文件后&#xff0c;可通过直接拖动页面缩略图来调整顺序&#xff0c;就像在纸质文档中…...

zsh: command not found - 鸿蒙 HarmonyOS Next

终端中执行 hdc 命令抛出如下错误; zsh: command not found 解决办法 首先,查找到 DevEco-Studio 的 toolchains 目录路径; 其次,按照类似如下的文件夹层级结果推理到 toolchains 子级路径下,其中 sdk 后一级的路径可能会存在差异,以实际本地路径结构为主,直至找到 openharm…...

【动态规划】 深入动态规划—两个数组的dp问题

文章目录 前言例题一、最长公共子序列二、不相交的线三、不同的子序列四、通配符匹配五、交错字符串六、两个字符串的最小ASCII删除和七、最长重复子数组 结语 前言 问题本质 它主要围绕着给定的两个数组展开&#xff0c;旨在通过对这两个数组元素间关系的分析&#xff0c;找出…...