Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,26 @@

在调试控制台里输入 `` ` `` 加 lldb 命令(例如 `` `bt``)。命令补全来自插件声明的列表和 `lldb-dap` 自己的补全。

## 诊断日志 / Diagnostic logs

此插件通过宿主的通用 DAP 传输启动 `lldb-dap`,没有独立后端或日志 writer。
结构化日志 v2 的 Core 生命周期和操作分类记录到 `debug/lldb-dap` 通道;
关键生命周期为 INFO,运行/暂停等内部状态为 DEBUG,超时和适配器拒绝为 ERROR,取消不算失败。
原生启动和进程异常退出的固定阶段/退出码记录到 `debug`。程序输出、调试表达式和变量内容属于调试控制台,
不得复制到诊断日志。适配器原始 stderr 仍由宿主调试控制台呈现,不代表已作为 v2 文件持久化。

插件没有自己的进程发送 `lithe/log`,宿主因此替插件把每次 `lldb-dap` 启动尝试记成与 SDK 插件
同一组的操作事实,写入 `plugins/io.github.lithe-idea.lldb-debug/host` 通道,操作名为
`debugAdapter/start`:调试会话就绪记 `plugins.operation.finished`(INFO,含耗时);失败记
`plugins.operation.failed`(ERROR),失败码只取自启动阶段——`host.executableUnavailable`(无法解析
`lldb-dap` 启动命令)、`host.launchFailed`(进程拉起失败)、`host.initializeFailed`(DAP 初始化失败)、
`host.exitedEarly`(就绪前退出)、`host.timedOut`(初始化超时)。用户停止和取消不记录;事实不含程序输出、
变量、路径或命令行。插件不需要任何日志代码,宿主实现见 https://github.com/1lck/Lithe-IDEA/pull/1720。

排障时使用 Lithe 的独立日志窗口和诊断导出,并同时检查调试控制台。
不要启用 `LLDBDAP_LOG`、完整 DAP 通信转储或以变量、内存、源码和环境内容补充诊断日志。
日志文件不得写入插件安装目录。Windows 的日志实现仍为 v1;本文没有声明 Windows 已完成 v2 验收。

## 开发 / Development

```text
Expand Down
Loading