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

如何快速排查 Wi-Fi 的 TPUT 问题?

1. 如何排查 Wi-Fi TPUT 问题

  • 掌握每个 Wi-Fi 协议下的 Wi-Fi TPUT 的计算方法
    • 一文让你轻松理解WLAN物理层速率计算方式_wifi速率计算公式-CSDN博客
  • 配查 CPU 的资源占用率:interrupt、CPU loading
    • Linux/Android 系统使用 mpstat 工具
      • 具体工具的使用方法,请自行查询,很简答!
    • 协议栈的调优
  • 统计 Wi-Fi 报文的 MCS 值、丢包率、空间流个数
    • 每家芯片厂商的获取方式有所差异
  • 确定测试环境
    • 环境嘈杂度
    • 天线角度
  • 抓取 Wi-Fi driver/FW log
    • 每个芯片厂家的方法不同,这里不具体列举,在第二章节以 Qualcomm 的芯片为例,提供一个参考示例。
  • 抓取空口 Wi-Fi Sniffer
    • 确认带宽、GI、空间流、信号强度、调制解调(Wi-Fi 7支持了4k,速率对应MCS 13)等符合预期;
    • 排除 UDP/TCP 差异,尝试先测试 UDP 性能,因为 UDP 是无连接型的,性能会比 TCP 好;
    • 切换信道
    • 调整聚合包长度
  • 确定天线 OTA 性能、传导性能
    • 这里就是和发射功率、接收灵敏度相关,涉及到射频、天线等硬件性能指标;

2. Debugging

2.1 How to get txrx status on Qualcomm Wi-Fi platform?

cnss_diag_lite -f -c > /dev/null & // 抓取 Wi-Fi driver/FW log
iwpriv wlan0 getConfig  // 通过命令行的方式,获取相关信息
抓取Wi-Fi Sniffer log,使用Wi-Fi sniffer设备
使用Open的加密方式,连接DUT
iwpriv wlan0 txrx_stats 20 0 - Reset Host Stats
iperf3跑流一段时间
Host stats
iwpriv wlan0 txrx_stats 21 0 - Rx Rate Stats
iwpriv wlan0 txrx_stats 22 0 - Tx Rate Stats
iwpriv wlan0 txrx_stats 23 0 - Tx Stats
iwpriv wlan0 txrx_stats 24 0 - Rx Stats
iwpriv wlan0 txrx_stats 25 0 - AST Stats
iwpriv wlan0 txrx_stats 26 0 - Head/Tail Pointer Ring Stats
iwpriv wlan0 txrx_stats 24 0 - Monitor Mode Stats
Firmware stats
iwpriv wlan0 txrx_stats 1 0 - Pdev Tx Stats
iwpriv wlan0 txrx_stats 2 0 - Pdev Rx Stats
iwpriv wlan0 txrx_stats 3 0 - Pdev Tx HW Queue Stats
iwpriv wlan0 txrx_stats 4 0 - Pdev Tx HW Scheduler Stats
iwpriv wlan0 txrx_stats 5 0 - Pdev Error Stats
iwpriv wlan0 txrx_stats 6 0 - TQM Stats
iwpriv wlan0 txrx_stats 7 0 - TQM_CMDQ Stats
iwpriv wlan0 txrx_stats 8 0 - Tx_DE_CMN thread Stats
iwpriv wlan0 txrx_stats 9 0 - Tx rate stats
iwpriv wlan0 txrx_stats 10 0 - Rx rate stats
iwpriv wlan0 txrx_stats 11 0 -Peer stats
iwpriv wlan0 txrx_stats 12 0 - Tx Self Gen Stats
iwpriv wlan0 txrx_stats 13 0 - Tx MU Queue Stats
iwpriv wlan0 txrx_stats 15 0 - SRNG Info Stats
iwpriv wlan0 txrx_stats 16 0 - SFM Info stats
iwpriv wlan0 txrx_stats 17 0 - TX_MU_MIMO_SCHED_INFO Stats
iwpriv wlan0 txrx_stats 18 0 - PEER_LIST STATS

2.2 How to get memory status on Qualcomm Wi-Fi platform?

cnss_diag_lite -f -c > /dev/null &
iwpriv wlan0 txrx_stats 29 0
Examples
root@imx8qxpmek:~# iwpriv wlan0 txrx_stats 29 0
[iwpriv][0x5cf3b590][14:07:27.945234]wlan: [3622:IH:DP] AST Table:
[iwpriv][0x5cf3b5b8][14:07:27.945275]wlan: [3622:IH:DP] MEC Stats:
[iwpriv][0x5cf3b5c1][14:07:27.945284]wlan: [3622:IH:DP]    Entries Added   = 0
[iwpriv][0x5cf3b5ca][14:07:27.945293]wlan: [3622:IH:DP]    Entries Deleted = 0
[iwpriv][0x5cf3b5d3][14:07:27.945302]wlan: [3622:IH:DP] Dumping Peer Table  Stats:
[soft_i][0x5cf3b5e4][14:07:27.945319]wlan: [0:IH:DP]    peer_mac_addr = ae:92:b4:9e:c6:71 nawds_enabled = 0 bss_peer = 0 wds_enabled = 0 tx_cap_enabled = 0 rx_cap_enabled = 0 peer id = 65535
[iwpriv][0x5cf3b5ee][14:07:27.945329]wlan: [3622:D:HDD] __iw_set_var_ints_getnone: exit
[schedu][0x5fab0768][14:08:13.513707]wlan: [3536:D:WMI] send_time_stamp_sync_cmd_tlv: WMA --> DBGLOG_TIME_STAMP_SYNC_CMDID mode 0 time_stamp low 50893513 high 0
[schedu][0x5fab0788][14:08:13.513739]wlan: [3536:D:WMI] wmi_log_cmd_id: Send WMI command:WMI_DBGLOG_TIME_STAMP_SYNC_CMDID command_id:118804 htc_tag:0
[iwpriv][0x60798ff8][14:08:27.049084]wlan: [3623:D:HDD] __iw_set_var_ints_getnone: enter(wlan0)
[iwpriv][0x6079900e][14:08:27.049105]wlan: [3623:D:HDD] __iw_set_var_ints_getnone: Received length 1
[iwpriv][0x6079901b][14:08:27.049118]wlan: [3623:D:HDD] __iw_set_var_ints_getnone: WE_SET_TXRX_STATS stats cmd: 29 mac_id: 0
[iwpriv][0x6079902d][14:08:27.049136]wlan: [3623:IH:DP] dp_txrx_stats_request: stats: 29 fw_stats_type: -1 host_stats: 9
[iwpriv][0x6079905a][14:08:27.049180]wlan: [3623:IH:DP] No. of interrupt contexts: 7
[iwpriv][0x60799065][14:08:27.049192]wlan: [3623:IH:DP] Max clients: 64
[iwpriv][0x60799070][14:08:27.049203]wlan: [3623:IH:DP] Max alloc size: 2097152
[iwpriv][0x6079907b][14:08:27.049214]wlan: [3623:IH:DP] Per pdev tx ring: 1
[iwpriv][0x60799086][14:08:27.049225]wlan: [3623:IH:DP] Num tcl data rings: 3
[iwpriv][0x60799091][14:08:27.049236]wlan: [3623:IH:DP] Per pdev rx ring: 0
[iwpriv][0x6079909c][14:08:27.049247]wlan: [3623:IH:DP] Per pdev lmac ring: 0
[iwpriv][0x607990a7][14:08:27.049258]wlan: [3623:IH:DP] Num of reo dest rings: 4
[iwpriv][0x607990ce][14:08:27.049296]wlan: [3623:IH:DP] Num tx desc pool: 4
[iwpriv][0x607990d7][14:08:27.049306]wlan: [3623:IH:DP] Num tx ext desc pool: 3
[iwpriv][0x607990e0][14:08:27.049315]wlan: [3623:IH:DP] Num tx desc: 4096
[iwpriv][0x607990e9][14:08:27.049324]wlan: [3623:IH:DP] Num tx ext desc: 4096
[iwpriv][0x607990f2][14:08:27.049333]wlan: [3623:IH:DP] Htt packet type: 2
[iwpriv][0x607990fb][14:08:27.049342]wlan: [3623:IH:DP] Max peer_ids: 64
[iwpriv][0x60799104][14:08:27.049351]wlan: [3623:IH:DP] Tx ring size: 3072
[iwpriv][0x6079910d][14:08:27.049360]wlan: [3623:IH:DP] Tx comp ring size: 4096
[iwpriv][0x60799116][14:08:27.049369]wlan: [3623:IH:DP] Tx comp ring size nss: 8192
[iwpriv][0x6079911f][14:08:27.049378]wlan: [3623:IH:DP] Int batch threshold tx: 1
[iwpriv][0x60799128][14:08:27.049387]wlan: [3623:IH:DP] Int timer threshold tx: 8
[iwpriv][0x60799131][14:08:27.049396]wlan: [3623:IH:DP] Int batch threshold rx: 0
[iwpriv][0x6079913a][14:08:27.049405]wlan: [3623:IH:DP] Int timer threshold rx: 512
[iwpriv][0x60799144][14:08:27.049414]wlan: [3623:IH:DP] Int batch threshold other: 1
[iwpriv][0x6079914f][14:08:27.049425]wlan: [3623:IH:DP] Int timer threshold other: 8
[iwpriv][0x6079915f][14:08:27.049442]wlan: [3623:IH:DP] Tx ring mask (0-7): 1 0 0 0 0 0 0
[iwpriv][0x6079916d][14:08:27.049456]wlan: [3623:IH:DP] Rx ring mask (0-7): 0 1 2 4 8 0 0
[iwpriv][0x6079917d][14:08:27.049472]wlan: [3623:IH:DP] Rx mon ring mask (0-7): 0 1 2 0 0 0 0
[iwpriv][0x6079918c][14:08:27.049487]wlan: [3623:IH:DP] Rx err ring mask (0-7): 0 0 0 0 0 0 1
[iwpriv][0x6079919d][14:08:27.049504]wlan: [3623:IH:DP] Rx wbm rel ring mask (0-7): 0 0 0 0 0 0 1
[iwpriv][0x607991aa][14:08:27.049517]wlan: [3623:IH:DP] Reo ring mask (0-7): 0 0 0 0 0 0 1
[iwpriv][0x607991b8][14:08:27.049531]wlan: [3623:IH:DP] Rxdma2host ring mask (0-7): 0 0 0 0 0 1 2
[iwpriv][0x607991c8][14:08:27.049546]wlan: [3623:IH:DP] Host2rxdma ring mask (0-7): 0 0 0 0 0 0 0
[iwpriv][0x607991d6][14:08:27.049561]wlan: [3623:IH:DP] Rx hash: 1
[iwpriv][0x607991df][14:08:27.049570]wlan: [3623:IH:DP] Tso enabled: 1
[iwpriv][0x607991ea][14:08:27.049581]wlan: [3623:IH:DP] Lro enabled: 0
[iwpriv][0x607991f3][14:08:27.049590]wlan: [3623:IH:DP] Sg enabled: 0
[iwpriv][0x607991fd][14:08:27.049600]wlan: [3623:IH:DP] Gro enabled: 1
[iwpriv][0x60799208][14:08:27.049611]wlan: [3623:IH:DP] rawmode enabled: 0
[iwpriv][0x60799211][14:08:27.049620]wlan: [3623:IH:DP] peer flow ctrl enabled: 0
[iwpriv][0x6079921c][14:08:27.049631]wlan: [3623:IH:DP] napi enabled: 1
[iwpriv][0x6079927b][14:08:27.049726]wlan: [3623:IH:DP] P2P Tcp Udp checksum offload: 1
[iwpriv][0x60799285][14:08:27.049736]wlan: [3623:IH:DP] NAN Tcp Udp checksum offload: 1
[iwpriv][0x6079928e][14:08:27.049745]wlan: [3623:IH:DP] Tcp Udp checksum offload: 1
[iwpriv][0x60799297][14:08:27.049754]wlan: [3623:IH:DP] Defrag timeout check: 1
[iwpriv][0x607992a1][14:08:27.049763]wlan: [3623:IH:DP] Rx defrag min timeout: 100
[iwpriv][0x607992ab][14:08:27.049773]wlan: [3623:IH:DP] WBM release ring: 1024
[iwpriv][0x607992b5][14:08:27.049783]wlan: [3623:IH:DP] TCL CMD_CREDIT ring: 32
[iwpriv][0x607992c0][14:08:27.049794]wlan: [3623:IH:DP] TCL Status ring: 32
[iwpriv][0x607992c9][14:08:27.049804]wlan: [3623:IH:DP] REO Reinject ring: 128
[iwpriv][0x607992d2][14:08:27.049813]wlan: [3623:IH:DP] RX release ring: 1024
[iwpriv][0x607992db][14:08:27.049822]wlan: [3623:IH:DP] REO Exception ring: 256
[iwpriv][0x607992e5][14:08:27.049832]wlan: [3623:IH:DP] REO CMD ring: 128
[iwpriv][0x607992f0][14:08:27.049843]wlan: [3623:IH:DP] REO STATUS ring: 256
[iwpriv][0x607992fb][14:08:27.049853]wlan: [3623:IH:DP] RXDMA refill ring: 4096
[iwpriv][0x60799304][14:08:27.049863]wlan: [3623:IH:DP] TX_desc limit_0: 0
[iwpriv][0x6079930f][14:08:27.049873]wlan: [3623:IH:DP] TX_desc limit_1: 0

相关文章:

如何快速排查 Wi-Fi 的 TPUT 问题?

1. 如何排查 Wi-Fi TPUT 问题 掌握每个 Wi-Fi 协议下的 Wi-Fi TPUT 的计算方法 一文让你轻松理解WLAN物理层速率计算方式_wifi速率计算公式-CSDN博客配查 CPU 的资源占用率:interrupt、CPU loading Linux/Android 系统使用 mpstat 工具 具体工具的使用方法&#xff…...

C语言单链表、双链表专题及应用

1.链表的概念及结构 概念:链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表的结构跟火车车厢相似,淡季时车次的车厢会相应减少,旺季时车次的车厢会额外增…...

C++4--类

目录 1.类的引入 2.类的定义 3.类的访问限定符及封装 3.1访问的限定符 3.2封装 4.类的作用域 5.类的实体化 1.类的引入 C语言结构体中只能定义变量,在C中,结构体内不仅可以定义变量,也可以定义函数。比如:之间在数据结构中&…...

紫光展锐5G融云方案,开启云终端新时代

近年来,云终端凭借便捷、高效、高性价比的优势正逐步在各行各业渗透。研究机构IDC的数据显示,2024上半年,中国云终端市场总体出货量达到166.3万台,同比增长22.4%,销售额29亿元人民币,同比增长24.9%&#xf…...

雪泥鸿爪和屈指可数

paw这个单词,表示“爪或手”,是一个和hoof相对的单词: hoof n.(马等动物的)蹄paw n.爪子;(动物的)爪;(人的)手 v.挠,抓;动手动脚 所以,当你理解了 paw 和 hoof 是相对的概念时&…...

C++并发与多线程(高级函数async)

async 在 C 中,async 关键字用于实现异步编程,它允许你定义异步操作,这些操作可以在后台执行,而不会阻塞当前线程。这是 C11 引入的特性,与 std::async 函数和 std::future 类一起使用。与thread函数模板的区别在于as…...

LeetCode 力扣 热题 100道(二十)三数之和(C++)

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 如下代码…...

类和对象(4)

大家好,今天来给大家介绍一下this引用,在学习类和对象的时候大家一定有一点疑惑吧,类为什么能知道我们传入的是哪个对象,又是怎么实例化我们的成员的,那么我们便来了解一下。 四.this引用 4.1为什么要有this引用 在…...

php基础:正则表达式

1.正则表达式 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。到目前为止,我们前面所用过的精确(文本)匹配也是一种正则表达式。 在PHP中,正则表达式一般是由正规字…...

Vue3动态表单实现

实现方法&#xff1a;通过<component />标签动实现动态表单渲染 component标签&#xff1a; 在vue中 component 标签用于动态组件标签的渲染。它允许在同一个挂载点上条件渲染不同的组件&#xff0c;通过is属性可以渲染指定的属性 在上面的例子中&#xff0c;通过调用…...

【网络取证篇】取证实战之PHP服务器镜像网站重构及绕密分析

【网络取证篇】取证实战之PHP服务器镜像网站重构及绕密分析 在裸聊敲诈、虚假理财诈骗案件类型中&#xff0c;犯罪分子为了能实现更低成本、更快部署应用的目的&#xff0c;其服务器架构多为常见的初始化网站架构&#xff0c;也称为站库同体服务器&#xff01;也就是说网站应用…...

高数 | 用简单的话讲考研数学知识点(第一集:充分和必要)

目录 一、前言 二、充分和必要 三、基础符号 四、符号拓展 五、符号进阶 六、符号进阶拓展 七、本集总结 一、前言 up最近想去上学&#xff0c;就想考个研究生读一读&#xff0c;那就要复习高数&#xff0c;光复习挺没意思的&#xff0c;所以就想着边复习边写文章吧&…...

前端学习-操作元素内容(二十二)

目录 前言 目标 对象.innerText 属性 对象.innerHTML属性 案例 年会抽奖 需求 方法一 方法二 总结 前言 曾经沧海难为水&#xff0c;除却巫山不是云。 目标 能够修改元素的文本更换内容 DOM对象都是根据标签生成的,所以操作标签,本质上就是操作DOM对象&#xff0c;…...

PostgreSql-学习06-libpq之同步命令处理

目录 一、环境 二、介绍 三、函数 1、PQsetdbLogin &#xff08;1&#xff09;作用 &#xff08;2&#xff09;声明 &#xff08;3&#xff09;参数介绍 &#xff08;4&#xff09;检测成功与否 2、PQfinish &#xff08;1&#xff09;作用 &#xff08;2&#xff0…...

Python `str.strip()` 的高级用法详解

Python str.strip 的高级用法详解 1. str.strip() 的基本用法2. str.strip() 的高级用法2.1 移除指定字符2.2 移除多个指定字符2.3 移除换行符和制表符2.4 结合正则表达式的高级处理 3. lstrip() 和 rstrip() 的用法3.1 lstrip()&#xff1a;移除左端字符3.2 rstrip()&#xff…...

Vue 3 中的 `update:modelValue` 事件详解

在 Vue 3 中&#xff0c;update:modelValue​ 事件通常与 v-model​ 指令一起使用&#xff0c;以实现自定义组件的双向数据绑定。以下是对该事件的详细分析&#xff1a; 事件定义 首先&#xff0c;我们需要在组件中定义 update:modelValue​ 事件。可以使用 defineEmits​ 函…...

AI 助力医学伦理知情同意书的完善:守护受试者权益

在医学研究中&#xff0c;知情同意书是保障受试者权益的核心文件&#xff0c;其质量直接关系到研究的伦理合规性。一份完善的知情同意书应清晰、准确且全面地向受试者传达研究的关键信息&#xff0c;确保他们在充分理解的基础上自愿做出参与决策。然而&#xff0c;在实际撰写过…...

【信息系统项目管理师-论文真题】2017上半年论文详解(包括解题思路和写作要点)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 试题一:论信息系统项目的范围管理解题思路写作要点试题二:论项目采购管理解题思路写作要点试题一:论信息系统项目的范围管理 实施项目范围管理的目的是包括确保项目做且制作所需的全部工作,以顺利完成项目…...

rpc设计的再次思考20251215(以xdb为核心构建游戏框架)

1.服务提供者注册的方式 // 表明这是一个服务提供者&#xff0c;ServerType 和 ServerId从application.properties中读取 // 而且只有当当前服务是Game时&#xff0c;才生效。 或者 条件注解??? RpcProvider(typeServerType.Game) public class GameProvider{MsgReceiver…...

mysql 查看并设置 innodb_flush_log_at_trx_commit 参数

mysql 查看并设置 innodb_flush_log_at_trx_commit 参数 innodb_flush_log_at_trx_commit 是 MySQL 中的一个系统变量&#xff0c;用于控制 InnoDB 存储引擎的日志刷新行为。该变量有三个可选的值&#xff1a; 0&#xff1a;每隔一秒钟&#xff0c;日志缓冲被刷新到日志文件&a…...

spring使用rabbitmq当rabbitmq集群节点挂掉 spring rabbitmq怎么保证高可用,rabbitmq网络怎么重新连接

##spring rabbitmq代码示例 Controller代码 import com.alibaba.fastjson.JSONObject; import com.newland.mi.config.RabbitDMMQConfig; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; import org.springframewo…...

Java BigDecimal

1. BigDecimal 用于解决浮点型运算时&#xff0c;出现结果失真的问题。 2. BigDecimal创建的构造器、常用方法 构造器说明public BigDecimal(double val)---不推荐将double 类型转为BigDecimalpublic BigDecimal(String val)---推荐将String 类型转为BigDecimal 方法说明pub…...

RFMiD:多疾病检测的视网膜图像分析挑战|文献速递-生成式模型与transformer在医学影像中的应用

Title 题目 RFMiD: Retinal Image Analysis for multi-Disease Detection challenge RFMiD&#xff1a;多疾病检测的视网膜图像分析挑战 01 文献速递介绍 眼部疾病的普遍性与上升趋势 根据世界卫生组织 (WHO) 2019 年《全球视觉报告》&#xff0c;目前全球约有 22 亿人存…...

布隆过滤器

这篇博客我们来说一下布隆过滤器 之前我们在讲redis缓存穿透的时候说可以使用布隆过滤器来解决这个问题 那么我们先来简单复习一下什么时缓存穿透 &#xff08;一&#xff09;复习缓存穿透 我们都知道redis可以作为mysql的缓存帮忙抵挡大部分的请求&#xff0c;但是当redis中…...

构建一个rust生产应用读书笔记四(实战6)

本节我们开始使用tracing来记录日志&#xff0c;实际上在生产环境中&#xff0c;更推荐使用tracing作为日志记录的首先&#xff0c;它提供了更丰富的上下文信息和结构化日志记录功能。tracing 不仅可以记录日志信息&#xff0c;还可以跟踪函数调用、异步任务等&#xff0c;适用…...

如何使用git新建本地仓库并关联远程仓库的步骤(详细易懂)

一、新建本地仓库并关联远程仓库的步骤 新建本地仓库 打开终端&#xff08;在 Windows 上是命令提示符或 PowerShell&#xff0c;在 Linux 和Mac上是终端应用&#xff09;&#xff0c;进入你想要创建仓库的目录。例如&#xff0c;如果你想在桌面上创建一个名为 “my - project”…...

5.最长回文字串

给你一个字符串 s&#xff0c;找到 s 中最长的 回文 子串 。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba" 同样是符合题意的答案。示例 2&#xff1a; 输入&#xff1a;s "cbbd"…...

数据仓库工具箱—读书笔记02(Kimball维度建模技术概述02、事实表技术基础)

Kimball维度建模技术概述 记录一下读《数据仓库工具箱》时的思考&#xff0c;摘录一些书中关于维度建模比较重要的思想与大家分享&#x1f923;&#x1f923;&#x1f923; 第二章前言部分作者提到&#xff1a;技术的介绍应该通过涵盖各种行业的熟悉的用例展开&#xff08;赞同…...

【C++】13___STL

一、基本概念 STL(Standard Template Library,标准模板库)STL从广义上分为&#xff1a;容器(container)、算法(algorithm)、迭代器(iterator)容器和算法之间通过迭代器进行无缝连接STL几乎所有的代码都采用了类模板或者函数模板 二、STL六大组件 分别是&#xff1a;容器、算法…...

在 Ubuntu 中启用 root 用户的远程登录权限

1. 概述&#xff1a;为什么需要启用 root 用户远程登录&#xff1f; 在 Ubuntu 中&#xff0c;出于安全原因&#xff0c;默认情况下 root 用户被禁止远程登录。然而&#xff0c;在某些情况下&#xff08;如需要进行高权限操作的远程管理任务&#xff09;&#xff0c;启用 root…...

android 混淆

前沿 很久没用过混淆功能了&#xff0c;因为之前的包都使用第三方加固了&#xff0c;而且项目开发好几年了&#xff0c;突然要混淆也很麻烦。换了家公司后&#xff0c;感觉还是得混淆代码才行&#xff0c;不然直接暴露源码也太不行了。 启动混淆功能 isMinifyEnabled true …...

6、AI测试辅助-测试报告编写(生成Bug分析柱状图)

AI测试辅助-测试报告编写&#xff08;生成Bug分析柱状图&#xff09; 一、测试报告1. 创建测试报告2. 报告补充优化2.1 Bug图表分析 3. 风险评估 总结 一、测试报告 测试报告内容应该包含&#xff1a; 1、测试结论 2、测试执行情况 3、测试bug结果分析 4、风险评估 5、改进措施…...

让人工智能帮我写一个矩阵按键扫描程序

1.前言 嘉立创做了一块编程小车的蓝牙按键遥控器&#xff0c;按键是4*4矩阵的&#xff0c;通过蓝牙发送按键编码值给蓝牙小车&#xff08;外围设备&#xff09;。 原理图如下&#xff1a; 板子回来后&#xff0c;因为懒得写按键矩阵扫描程序&#xff0c;想想还是交给人工智能…...

基于MindSpore NLP的PEFT微调

创建notebook 登录控制台 创建notebook 如果出现提示按如下操作 回到列表页面创建notebook参数如下&#xff1a; 配置mindnlp环境 打开GitHub - mindspore-lab/mindnlp: Easy-to-use and high-performance NLP and LLM framework based on MindSpore, compatible with model…...

2024年12月CCF-GESP编程能力等级认证C++编程八级真题解析

本文收录于专栏《C++等级认证CCF-GESP真题解析》,专栏总目录:点这里。订阅后可阅读专栏内所有文章。 一、单选题(每题 2 分,共 30 分) 第 1 题 小杨家响应国家“以旧换新”政策,将自家的汽油车置换为新能源汽车,正在准备自编车牌。自编车牌包括5位数字或英文字母,要求…...

基于微信小程序的小区疫情防控ssm+论文源码调试讲解

第2章 程序开发技术 2.1 Mysql数据库 为了更容易理解Mysql数据库&#xff0c;接下来就对其具备的主要特征进行描述。 &#xff08;1&#xff09;首选Mysql数据库也是为了节省开发资金&#xff0c;因为网络上对Mysql的源码都已进行了公开展示&#xff0c;开发者根据程序开发需…...

moment()获取时间

moment 是一个 JavaScript 日期处理类库。 使用&#xff1a; //安装 moment npm install moment -- save引用 //在main.js中全局引入 import moment from "moment"设定moment区域为中国 //import 方式 import moment/locale/zh-cn moment.locale(zh-cn); 挂载全…...

CAD学习 day3

细节问题 快捷键X 分解单独进行操作如果需要制定字体样式选择 gdcbig.shx快捷键AA 算面积 平面布置图 客户沟通 - 会面笔记 - 客户需求(几个人居住、生活方式、功能需求(电竞房、家政柜)、书房、佛龛、儿童房、风格方向)根据客户需求 - 平面方案布置 (建议做三个以上方案) -…...

windows免登录linux

windows 生成秘钥文件 ssh-keygen -t rsa 将公钥传送到服务器 scp C:\Users\xx/.ssh/id_rsa.pub xxxx:/home/ruoyi/id_rsa.pub linux 使用ssh-copy-id -i ~/.ssh/id_rsa.pub userhost 如果禁用root登录&#xff0c;先开启 vim /etc/ssh/sshd_config PermitRootLogin yes …...

边缘计算的方式

做边缘计算这个行业要想赚得到收益&#xff0c;那一定要找到适合自己参与的一种方式。目前参与边缘计算的话&#xff0c;它主要有两个渠道。 第一个就是用盒子来跑&#xff0c;这个盒子的话包括光猫、路由器、摄像头等等&#xff0c;盒子是一条网线带动一个盒子&#xff0c;它…...

Android GO 版本锁屏声音无效问题

问题描述 Android go版本 在设置中打开锁屏音开关&#xff0c;息屏灭屏还是无声音 排查 vendor\mediatek\proprietary\packages\apps\SystemUI\src\com\android\systemui\keyguard\KeyguardViewMediator.java private void setupLocked() {...String soundPath Settings.G…...

Android之RecyclerView显示数据列表和网格

一、RecyclerView的优势 RecyclerView 的最大优势在于&#xff0c;它对大型列表来说非常高效&#xff1a; 默认情况下&#xff0c;RecyclerView 仅会处理或绘制当前显示在屏幕上的项。例如&#xff0c;如果您的列表包含一千个元素&#xff0c;但只有 10 个元素可见&#xff0…...

汽车发动机电控系统-【传感器】篇

燃油&#xff1a;喷油控制&#xff08;不多不少&#xff09; 进气 主传感器MAP&#xff1a;进气压力传感器&#xff08;微型车&#xff09;、空气流量传感器MAF 辅助传感器&#xff1a;节气门传感器、水温传感器&#xff08;提供暖机工况&#xff09;、进气温度传感器 反馈…...

牛客周赛 Round 72 题解

本次牛客最后一个线段树之前我也没碰到过&#xff0c;等后续复习到线段树再把那个题当例题发出来 小红的01串&#xff08;一&#xff09; 思路&#xff1a;正常模拟&#xff0c;从前往后遍历一遍去统计即可 #include<bits/stdc.h> using namespace std; #define int lo…...

Python AI后台服务器

把数据训练放在后台&#xff0c;首先碰到的一个问题是如何高效地从数据库把数据请求下来。 分别试了几个库 modin 号称和pandas能够无缝衔接&#xff0c;试了下&#xff0c;确实pd.read_sql蛮快的&#xff0c;但是下来后数据格式就变了&#xff0c;不太好进行后续处理了conne…...

音视频入门基础:MPEG2-TS专题(19)——FFmpeg源码中,解析TS流中的PES流的实现

一、引言 FFmpeg源码在解析完PMT表后&#xff0c;会得到该节目包含的视频和音频信息&#xff0c;从而找到音视频流。TS流的音视频流包含在PES流中。FFmpeg源码通过调用函数指针tss->u.pes_filter.pes_cb指向的回调函数解析PES流的PES packet&#xff1a; /* handle one TS…...

Qt Q_ENUM enum 转 QString 枚举字符串互转; C++模板应用

Part1: Summary 项目中我们常用到命名&#xff0c;使用 enum 转成 string &#xff0c;方便简洁&#xff1b;Qt给我们提供了一个很方便的功能 Q_ENUM&#xff0c;可以实现枚举字符串互转&#xff1b; Q_ENUM宏将枚举注册到元对象系统中&#xff1b; QMetaEnum::fromType获取枚…...

Mac配置 Node镜像源的时候报错解决办法

在Mac电脑中配置国内镜像源的时候报错,提示权限问题,无法写入配置文件。本文提供解决方法,青测有效。 一、原因分析 遇到的错误是由于 .npm 目录下的文件被 root 用户所拥有,导致当前用户无法写入相关配置文件。 二、解决办法 在终端输入以下命令,输入管理员密码即可。 su…...

windows C#-为枚举创建新方法

可使用扩展方法添加特定于某个特定枚举类型的功能。 示例 在下面的示例中&#xff0c;Grades 枚举表示学生可能在班里收到的字母等级分。 该示例将一个名为 Passing 的扩展方法添加到 Grades 类型中&#xff0c;以便该类型的每个实例现在都“知道”它是否表示合格的等级分。 …...

ISCTF复现-misc

File_Format 下载附件后用010打开查看文件头会发现是个exe文件 格式&#xff1a;文件描述&#xff08;后缀名&#xff09;&#xff0c;文件头(hex)&#xff1a;文件头标识&#xff08;十六进制&#xff09;PNG (png)&#xff0c;文件头(hex)&#xff1a;89504E47 PNGImageFile…...