ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

pot-desktop 调试指南:DevTools 与日志调测实战

2026/9/8 21:06:51 拓冰建站 浏览量
pot-desktop 调试指南:DevTools 与日志调测实战 pot-desktop 调试指南DevTools 与日志调测实战【免费下载链接】pot-desktop一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognition.项目地址: https://gitcode.com/GitHub_Trending/po/pot-desktop本文围绕 pot-desktop跨平台划词翻译与 OCR 软件的调测场景解决运行时想看后端日志、想开 DevTools 排查前端这两个问题。项目内置的 tauri-plugin-log日志插件与 dev_mode开发者模式开关可覆盖日志打印、页面状态与网络请求的查看。一、先搞清楚这套调测能力是什么pot-desktop 基于 Tauri 架构Rust 后端 Web 前端调试能力分三层Rust 侧日志宏、前端日志 API、WebView 的 DevTools开发者工具。核心 API 如下API所在位置用途info!/warn!/error!log 宏src-tauri/src各模块打印 Rust 侧运行日志写入日志目录并输出到 Stdout标准输出info/debugtauri-plugin-log-apisrc/前端代码前端打印日志与 Rust 侧合并写入同一日志文件open_devtoolsTauri Commandsrc-tauri/src/cmd.rs开关 WebView 的 DevTools查看 Console 与 Network 面板二、动手前编译环境与前置检查安装 Rust 工具链stable与 Node.js18 及以上包管理器使用pnpmLinux 需预装libxdo-dev、libxcb1、libxrandr2、tesseract-ocr等系统库对照src-tauri/tauri.conf.json中 deb/rpm 的 depends 段克隆仓库并安装依赖git clone https://gitcode.com/GitHub_Trending/po/pot-desktop # 克隆仓库 cd pot-desktop pnpm install # 安装前端依赖预期看到pnpm install正常结束node_modules生成无依赖冲突类报错。三、埋点在关键函数里加一行打印以截图裁剪命令cut_image为例在src-tauri/src/cmd.rs中补一条路径日志用于确认截图文件落盘位置// src-tauri/src/cmd.rs use image::GenericImage; info!(Cut image: {}x{}{}{}, width, height, left, top); let mut app_cache_dir_path cache_dir().expect(Get Cache Dir Failed); app_cache_dir_path.push(app_handle.config().tauri.bundle.identifier); info!(Screenshot cache dir: {:?}, app_cache_dir_path); app_cache_dir_path.push(pot_screenshot_cut.png);为什么选在这里cut_image是划词截图翻译的必经路径打印缓存目录后出问题时可直接对照磁盘上是否存在pot_screenshot_cut.png。前端 DevTools 调测前端已引入tauri-plugin-log-api例如src/window/Translate/components/SourceArea/index.jsx里可直接调用debug(...)日志与 Rust 侧写入同一文件再配合 F12 打开的 DevTools 观察 Console 报错与翻译接口请求。四、构建与运行三步拿到调试输出cd pot-desktop # 进入仓库目录 pnpm tauri dev # 以 debug 模式启动Vite 固定占用 1420 端口 # 启动后触发一次划词翻译观察终端 Stdout 与日志文件参数说明参数/项取值说明pnpm tauri devdebug 构建注入TAURI_DEBUG1Vite 关闭压缩并生成 sourcemap源码映射pnpm tauri buildrelease 构建无 sourcemap仅用于出包不建议用于调测端口1420固定vite.config.js中strictPort: true端口被占用会直接启动失败预期看到终端滚动输出Start App、Init Config Store等 INFO 日志debug 模式下 WebView 自动弹出 DevTools。五、读懂输出字段逐个看日志按系统约定落盘Linux 位于~/.local/share/com.pot_app.pot/log/macOS 位于~/Library/Logs/com.pot_app.pot/Windows 位于%APPDATA%\com.pot_app.pot\logs\。每行格式为[时间] [级别] [模块] 消息以你新增的埋点为例2026-09-07T18:20:11.123时间戳用于和触发操作的时刻对齐INFO级别支持 TRACE/DEBUG/INFO/WARN/ERROR 五档按问题严重程度选debug或info模块名来源模块Rust 侧对应宏所在位置前端侧为tauri-plugin-log-api调用方Screenshot cache dir: ...消息体即第三步埋点打印的缓存路径ConsoleDevTools 中前端 JS 报错与console.*输出NetworkDevTools 中各翻译服务接口的请求/响应、状态码与耗时。预期看到触发一次划词翻译后终端与日志文件中同步出现你新增的Screenshot cache dir记录即埋点生效。六、踩坑提醒与版本限制⚠ 以下限制在动手前先确认open_devtools命令虽已全局注册但前端只有在设置页通用 → 开发模式dev_mode开启后按 F12 才会调用它debug 构建下 DevTools 会自动打开pnpm tauri build出的 release 包启用压缩且无 sourcemap前端堆栈不可读调测一律使用pnpm tauri dev或 debug 构建vite.config.js固定 1420 端口且strictPort为 true端口被占用时tauri dev直接报错退出需先释放端口再启动。至此一条info!埋点加一次pnpm tauri dev即构成 pot-desktop 的日常调测闭环更多接口细节请查阅 tauri-plugin-log 与 Tauri 的官方 API 文档。【免费下载链接】pot-desktop一个跨平台的划词翻译和OCR软件 | A cross-platform software for text translation and recognition.项目地址: https://gitcode.com/GitHub_Trending/po/pot-desktop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考