< 返回版块

Mike Tang 发表于 2026-03-19 13:58

Rust Cookbook - 安全关键性编程指南

这是一份 Rust 编程语言的综合性实用手册,涵盖了从基础到高级的各种编程主题。

主要内容模块

该手册包含以下20个主要章节:

  1. 算法 - 随机值生成、向量排序
  2. 命令行 - 参数解析、ANSI终端
  3. 压缩 - Tarball文件处理
  4. 并发编程 - 显式线程、数据并行、Actor模式、自定义Future
  5. 密码学 - 哈希、加密
  6. 数据结构 - 位字段
  7. 数据库 - SQLite、Postgres
  8. 日期和时间 - 时间计算、解析和显示
  9. 开发工具 - 调试、日志记录、版本控制、构建工具
  10. 编码 - 字符集、CSV处理、结构化数据
  11. 错误处理 - 错误变体处理
  12. 文件系统 - 读写、目录遍历
  13. 硬件支持 - 处理器
  14. 内存管理 - 全局静态变量
  15. 网络 - 服务器
  16. 操作系统 - 外部命令
  17. 科学计算 - 线性代数、三角函数、复数、统计学
  18. 安全关键性Rust - 无panic保证、确定性内存
  19. 文本处理 - 正则表达式、字符串解析
  20. Web编程 - 链接提取、URL处理、HTTP客户端、Web API调用

核心重点:安全关键性编程

文档特别强调了安全关键性Rust编程,包括:

  • 编译时无panic保证 - 确保程序运行不会崩溃
  • 确定性内存管理 - 使用Heapless集合实现可预测的内存使用

https://rust-lang-nursery.github.io/rust-cookbook/safety_critical.html

Rust 追踪调试(Tracing)

什么是 Tracing

  • tracing 是一个用于 Rust 程序插桩的框架,用于收集结构化、基于事件的诊断信息
  • 它是旧版 log crate 的替代方案,并具有向后兼容的适配器

安装依赖

在项目中添加以下 crate:

cargo add tracing tracing-subscriber
  • 对于库项目,通常不需要 tracing-subscriber

将日志消息输出到控制台

基本用法

  1. tracing crate 提供宏来发出日志事件
  2. tracing-subscriber crate 配置事件的发送位置
  3. 调用 tracing_subscriber::fmt::init() 安装默认追踪订阅器

日志级别(从高到低)

  • error!() - 错误
  • warn!() - 警告
  • info!() - 信息(默认级别)
  • debug!() - 调试
  • trace!() - 追踪

关键特点

  • 默认日志级别:INFO(会丢弃更低级别的事件)
  • 默认配置下,debug!trace! 消息不会显示
  • 可通过设置 RUST_LOG 环境变量来配置更详细的日志级别:
    RUST_LOG=trace cargo run
    

输出格式

日志输出包含时间戳、级别、模块名和消息内容,例如:

2024-12-01T07:56:14.778440Z ERROR tracing_console: This is an error!

https://rust-lang-nursery.github.io/rust-cookbook/development_tools/debugging/tracing.html

--

From 日报小组 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页