【问题标题】:VS2010 Debug attach to process / cannot find or open the PDB fileVS2010调试附加到进程/找不到或打开PDB文件
【发布时间】:2013-06-21 14:31:12
【问题描述】:

我正在尝试调试 Maya API SDK 中提供的一些示例。

在调试模式下使用 Visual Studio 2010 构建 DLL 工作正常,插件一旦加载到 Maya 中,工作正常。 但是,附加后,Visual Studio 抱怨 找不到或打开 PDB 文件。 我忽略了这些警告并设置了一些断点,但显然 VS 没有中断。


关于通过将它们附加到 Maya 来构建插件和调试,我已阅读:

在 SE 上,我已阅读以下建议:


特别是我试过了:

  • 确保我加载到 Maya 中的插件是我刚刚构建的插件;
  • 验证 PDB 具有相同的名称,位于同一文件夹中,已在 与 DLL 相同;
  • 手动加载 PDB(“找不到匹配的符号”);
  • 在 VS 中激活符号服务器(很好,但显然我只有微软的)

【问题讨论】:

  • 您能否更新您的问题以解释您如何“手动加载 PDB”,因为我希望这可以解决您的问题。
  • 在模块视图中右键单击 myplugin.mll > 从以下位置加载符号 > 符号路径 > myplugin.pdb
  • PDB does not match image Error 的可能重复项
  • 我将自己的问题投票为 stackoverflow.com/questions/7749558/… 的副本。答案:将“程序数据库文件名”更改为“从父级或项目默认值继承”对我有用。 (但由于某种原因不是第一次出现,但重新启动有帮助)。

标签: visual-studio-2010 debugging maya pdb-files


【解决方案1】:

通常,将 pdb 放在同一个文件夹中总是可以工作的 - 但是,这通常不是因为您的 dll 是从路径中的其他地方加载的,并且它实际上并没有运行您认为的 dll (至少,这就是发生在我身上的事情)。

一旦您的应用程序运行,请尝试删除 dll - 如果可以,它没有加载。或者你可以在 VS 的模块窗口中查看路径。这也将为它为什么没有加载提供线索,并让您可以选择从磁盘上的任何位置手动加载符号。

【讨论】:

  • 该操作无法完成,因为该文件已在 Maya 中打开(因此在应用程序中加载了正确的插件)。我检查了VS中的模块视图:相同的路径,相同的dll(因此正确的dll被加载到调试器中)。
猜你喜欢
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-27
  • 1970-01-01
  • 1970-01-01
  • 2015-08-20
相关资源
最近更新 更多