visual-studio - 从 Visual Studio 中的符号服务器加载与正则表达式匹配的特定符号

标签 visual-studio nuget visual-studio-debugging debug-symbols pdb-files

我们有一个符号服务器,用于托管内部库的 PDB。所有发布的 DLL 都以前缀“ABC”开头

我想将 Visual Studio 配置为仅加载与 ABC 匹配的指定模块。*

在“工具”->“选项”->“调试”->“符号”中,当我选中“仅指定模块”并添加“ABC.*.dll”或“ABC.*”时,没有加载任何符号;然而,当我手动列出 DLL 时,它们就可以工作了。有什么办法可以设置吗?

此外,当我选中“所有模块,除非排除”时,我的符号会被加载,但 Visual Studio 也会浪费时间为我们不托管的其他 DLL 请求符号。

其他信息:

使用 Visual Studio 2012 SP2 NuPeek 是我们的 NuGet/Symbol 服务器

最佳答案

您可以将符号服务器重定向到本地运行的 python(或您选择的语言)脚本。我这样做是为了在内部重写请求,以便我可以在 Microsoft 不支持的网络场景中提供文件。

如果您查看 http 请求,您可以连接到 URL 来运行您的正则表达式。 在某些时候,符号服务器将发出如下所示的请求:

http://server.name/serverpath/my.pdb/CHECKSUMOFPDB0123456/my.pdb 

使用 Bottle.py,您可以编写这样的服务器。

@route('/<pdbname>/<pdbchecksum>/<pdbname2>') 
def http_handler(pdbname, pdbchecksum, pdbname2):
    # check its directly requesting a pdb, rather than redirects or similar
    if pdbname == pdbname2:
       if matchesMyRegex(pdbname):
           return redirect("http://myserver/%s/%s/%s" %(pdbname, pdbchecksum, pdbname2))
    return abort(404, "Not found")

我使用了SimpleHTTPServer,但是伪bottle.py代码更简洁。

关于visual-studio - 从 Visual Studio 中的符号服务器加载与正则表达式匹配的特定符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16299843/

相关文章:

nuget - 如何在 TeamCity 中使用 "\\company\network\share\"作为 NuGet 源?

asp.net - 用于集成测试 asp.net 应用程序的不同资源文件

visual-studio - 我可以在vs代码中运行任何模拟器

nuget - 有没有一种方法可以在 Visual Studio 2015 中一次性升级所有 NuGet 包?

nuget - 是否可以同时使用本地 NuGet 存储库和远程存储库

c++ - 调试显示不正确值的 64 位 DLL 检查器

c# - “System.Net.Http”已经具有为 'System.Runtime' 定义的依赖项

javascript - 如何在 Visual Studio 中导入 JavaScript 库?

visual-studio-2010 - 如何使用 visual studio 2010 在调试器下运行 firefox?

c# - 如果禁用 native 代码调试,调用外部函数时 vshost32-clr2.exe 会挂起