从远程服务器请求 pdb 文件

Posted

技术标签:

【中文标题】从远程服务器请求 pdb 文件【英文标题】:Request pdb files from remote server 【发布时间】:2017-12-25 23:18:28 【问题描述】:

我构建了 boost 库并获得了很多 pdb 文件。 我想从我的远程服务器获取这个 pdb 文件。 我在 Tornado(python) 上制作了简单的文件服务器,并在 Visual Studio 2015 中设置了 pdb 文件的源代码。

像这样的微软 pdb 文件请求来到我的服务器。

HTTPServerRequest(protocol='http', host='localhost:8000', method='GET', 
    uri='/sechost.pdb/62E740599FAE040A3AB9017E347BC2831/sechost.pdb', version='HTTP/1.1', remote_ip='127.0.0.1', headers='Accept-Encoding': 'gzip', 'User-Agent': 'Microsoft-Symbol-Server/10.0.10150.9', 'Host': 'localhost:8000', 'Connection': 'Keep-Alive', 'Cache-Control': 'no-cache')
        sechost.pdb/62E740599FAE040A3AB9017E347BC2831/sechost.pdb

对 boost pdb 文件的请求未到达服务器。 我的简单测试程序:

boost::chrono::system_clock::time_point start = boost::chrono::system_clock::now();

    for (long i = 0; i < 10000000; ++i)     
       std::sqrt(123.456L); // burn some time

boost::chrono::duration<double> sec = boost::chrono::system_clock::now() - start;   

我认为 Visual Studio 不会发送对 boost pdb 文件的请求。 但为什么呢?

【问题讨论】:

【参考方案1】:

Visual Studio 已经有一个功能可以做到这一点,无需自己实现。查找 Microsoft 符号服务器,然后您可以在 VS 设置中的工具->选项然后调试->符号下将任何工作站指向服务器。

【讨论】:

Visual Studio 不发送 boost pdb 文件请求的主要问题。符号服务器的实现并不重要。

以上是关于从远程服务器请求 pdb 文件的主要内容,如果未能解决你的问题,请参考以下文章

C# 远程调试器 - 无法找到或打开 PDB 文件

VS 远程调试阿里云上的web站点,Remote Debugger

使用vs远程调试iis站点

远程调试 Web 服务时的问题

pdb 调试

多租户:Oracle Database 19c 中的 DBCA PDB 远程克隆