更新 PDB 文件而不重建

发布于 2024-07-26 17:27:11 字数 193 浏览 5 评论 0原文

有没有办法使用新的源位置更新 PDB 文件? 我有一个项目链接到一些在另一台机器上构建的库,并使用 PDB 文件进行调试构建。 我无法在库中编译的文件中放置断点。 这些库需要 4 个多小时才能构建,因此我不想在我的机器上构建它们。 有没有办法让编译器使用新的源路径。 我使用的是 VS 2005 pro c++。

谢谢 阿米特

Is there a way to update the PDB file with the new source location ? I have a project which links to some libraries which are built on another machine and are debug build with the PDB file. I cannot put a breakpoint in the files which are compiled in the libs. These libs take more than 4 hours to build so I dont want to buid them on my machine. Is there a way where i can make the compiler use the new source paths. I am using VS 2005 pro c++.

Thanks
Amit

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦境 2024-08-02 17:27:11

您应该能够使调试器看到新的源路径,而不是修改 .pdb 文件来调整源代码的位置。 请查看此处有关在 Visual Studio 中执行此操作的说明,以及此处了解有关在 WinDbg 中执行此操作的说明。

另一个 StackOverflow 问题:最佳 Visual Studio 2008 调试教程

Instead of modifying the .pdb files to adjust to where you have your source, you should be able to make the debugger see the new source path. Look here for instructions on doing this in Visual Studio, and here for instructions on doing this in WinDbg.

Another this StackOverflow question: Best Visual Studio 2008 Debugging Tutorial.

暮年 2024-08-02 17:27:11

调试器是否从错误的位置获取了 .pdb 文件? 您是否有与二进制文件匹配的.pdb文件的副本(即.exe.dll)你正在执行? 请记住,.pdb 文件仅当与您正在执行的精确二进制文件同时创建时才能使用。

请尝试以下操作:

  1. 重命名调试器想要加载的(陈旧).pdb 文件,这样调试器将不再尝试选取它。

  2. 转到工具->选项->调试->符号并将符号文件 (.pdb) 位置添加到列表中。

  3. 如果调试器已连接,请右键单击“模块”列表中的模块,然后单击“加载符号”。 这将从您输入的路径重新加载符号。

另外,如果您知道代码完全相同,但您的.pdb文件与您正在使用的二进制文件不匹配,因为它们是在不同的构建期间创建的,请尝试取消-选中以下复选框:

工具->选项->调试->要求源文件与原始版本完全匹配

Is the debugger picking up the .pdb files from the wrong location? Do you have a copy of the .pdb files that match the binaries (i.e. .exe, .dll) that you are executing? Keep in mind that the .pdb files can only be used if they were created at the same time as the exact binaries you are executing.

Try the following:

  1. Rename the (stale) .pdb file that the debugger wants to load, so the debugger will no longer try to pick it up.

  2. Go to Tools->Options->Debugging->Symbols and add the symbol file (.pdb) location to the list.

  3. If the debugger is already attached, right click on the module in the "Modules" list and click "Load symbols". This will re-load the symbols from the path you entered.

Also, if you know the code is exactly the same, but your .pdb file doesn't match the binaries you are using because they were created during different builds, try un-checking the following checkbox:

Tools->Options->Debugging->Require source files to exactly match the original version

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文