#pdb #source #windows #symbols #file-path #pdbstr

srcsrv

从 pdb 文件(微软源服务器)中解释 srcsrv 流的内容

4 个版本

0.2.2 2021 年 9 月 29 日
0.2.1 2021 年 9 月 28 日
0.2.0 2021 年 9 月 28 日
0.1.0 2021 年 9 月 27 日

#498 in 调试

Download history • Rust 包仓库 393/week @ 2024-03-13 • Rust 包仓库 510/week @ 2024-03-20 • Rust 包仓库 522/week @ 2024-03-27 • Rust 包仓库 603/week @ 2024-04-03 • Rust 包仓库 850/week @ 2024-04-10 • Rust 包仓库 628/week @ 2024-04-17 • Rust 包仓库 966/week @ 2024-04-24 • Rust 包仓库 965/week @ 2024-05-01 • Rust 包仓库 971/week @ 2024-05-08 • Rust 包仓库 632/week @ 2024-05-15 • Rust 包仓库 1001/week @ 2024-05-22 • Rust 包仓库 691/week @ 2024-05-29 • Rust 包仓库 629/week @ 2024-06-05 • Rust 包仓库 431/week @ 2024-06-12 • Rust 包仓库 459/week @ 2024-06-19 • Rust 包仓库 527/week @ 2024-06-26 • Rust 包仓库

2,246 每月下载量
用于 9 个crate(2 个直接)

MIT/Apache

37KB
571

crates.io page docs.rs page

srcsrv

解析 Windows PDB 文件中的 srcsrv 流,并查找文件路径,以查看如何获取这些路径的源

use srcsrv::{SrcSrvStream, SourceRetrievalMethod};

if let Ok(srcsrv_stream) = pdb.named_stream(b"srcsrv") {
    let stream = SrcSrvStream::parse(srcsrv_stream.as_slice())?;
    let url = match stream.source_for_path(
        r#"C:\build\renderdoc\renderdoc\data\glsl\gl_texsample.h"#,
        r#"C:\Debugger\Cached Sources"#,
    )? {
        SourceRetrievalMethod::Download { url } => Some(url),
        _ => None,
    };
    assert_eq!(url, Some("https://raw.githubusercontent.com/baldurk/renderdoc/v1.15/renderdoc/data/glsl/gl_texsample.h".to_string()));
}

进一步阅读

许可证

在以下许可证下使用:

由您选择。

除非您明确声明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证定义,应作为上述双重许可,不附加任何额外条款或条件。

依赖关系

~0.5–1.1MB
~23K SLoC