gpt4 book ai didi

static - 源服务器(Windows 调试工具)可以与静态库项目一起使用吗?

转载 作者:行者123 更新时间:2023-12-02 01:02:48 25 4
gpt4 key购买 nike

我找不到在静态库项目上使用 Windows 调试工具中的源服务器工具的方法,它与实际使用该库的解决方案分开构建:对于为库生成的 PDB 文件,“ssindex.cmd”的输出始终显示“找到零个源文件”(使用编译器选项/ZI 和/Fd)。

在此 PDB 上运行“srctool.exe -r”不会显示任何内容,这可能意味着 PDB 文件不包含任何源文件信息。在测试应用程序的 PDB 文件上运行相同的命令,该应用程序也是作为同一解决方案的一部分构建的生成所有预期源文件的列表。

当静态库项目应该与使用它的解决方案分开构建时,有没有办法对静态库项目使用源索引?

感谢您的建议!

最佳答案

您可以使用“/Save”和“/Load”选项分别存储和加载静态库的源信息。使用这些选项允许您存储库的信息,然后在索引链接到您的库的项目时导入它。

为库解决方案建立索引时,您可以指定“/Save”标志以及用于存储有关库源文件的索引信息的目录。例如(假设您使用 Subversion 进行源代码控制),

ssindex.cmd /System=SVN /Save=c:\source\libproj\srcinfo /Source=c:\source\libproj /Symbols=c:\source\libproj\Release\*.pdb 

稍后对包含库的项目进行索引时,您可以使用包含库源文件信息的目录指定“/Load”标志。例如,

ssindex.cmd /System=SVN /Load=c:\source\libproj\srcinfo /Source=c:\source\binproj /Symbols=c:\source\binproj\Release\*.pdb 

有两个潜在问题可能会影响您使用此技术的能力。首先,某些源代码控制提供程序可能不支持保存和加载源代码控制信息。我知道 Subversion 提供程序可以这样做,而且看起来 SourceSafe 提供程序也可以这样做,但我没有检查任何其他提供程序。

其次,这一技术似乎仅适用于一个开箱即用的外部静态库。似乎没有办法从多个目录加载信息,并且当前每次使用“/Save”选项时脚本都会覆盖目录的内容。您可能可以编辑源代码控制提供程序模块以附加到保存目录中的文件而不是覆盖它们,但我还没有尝试过。

此外,请注意,正如您上面提到的,只有当您的库是作为单独解决方案的一部分构建时,您才需要执行此操作。如果静态库是您正在索引的解决方案的一部分,并且其源文件位于“/Source”选项指定的路径中,则将包含它们。

关于static - 源服务器(Windows 调试工具)可以与静态库项目一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1192617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com