#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 393/week @ 2024-03-13 510/week @ 2024-03-20 522/week @ 2024-03-27 603/week @ 2024-04-03 850/week @ 2024-04-10 628/week @ 2024-04-17 966/week @ 2024-04-24 965/week @ 2024-05-01 971/week @ 2024-05-08 632/week @ 2024-05-15 1001/week @ 2024-05-22 691/week @ 2024-05-29 629/week @ 2024-06-05 431/week @ 2024-06-12 459/week @ 2024-06-19 527/week @ 2024-06-26

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