【问题标题】:Visual Studio 2008 debugging issueVisual Studio 2008 调试问题
【发布时间】:2008-08-28 00:25:47
【问题描述】:

我在 VS 2008 中工作,并且在一个解决方案中拥有三个项目。我通过附加到第三方应用程序(SalesLogix,CRM 应用程序)调用的 .net 进程进行调试。

一旦它附加到进程并且我尝试在其中一个项目中设置断点,它就不会在该文件中设置断点。它实际上将当前选项卡切换到另一个项目中的另一个文件,并在该文档中设置断点。如果文件没有打开,它甚至会为我打开它。我无法解释这一点。我一点头绪都没有。有人见过这种奇怪的行为吗?如果不是亲眼所见,我是不会相信的。

更多信息:如果我在附加之前设置断点,它会显示“红点”并说没有加载符号...没问题...我希望如此。当我从 SalesLogix 附加并调用我的 .net 代码并切换回 VS 时,我的断点完全消失了(甚至没有警告源与调试文件不匹配)。当我尝试手动加载调试文件时,我收到一条消息,指出符号文件与模块不匹配。 .pdb 和 .dll 的时间戳相同,所以我很难过。

有人有什么想法吗?

谢谢,

杰夫

【问题讨论】:

  • 你在方法/函数调用上设置断点的那一行?也许函数已经被内联了,所以 VS 足够聪明,可以在方法本身中设置断点。

标签: c# visual-studio-2008 debugging


【解决方案1】:

我在旧版本的 VS.Net(我认为是 2003 年)中看到了这个功能。它可能仍然存在于当前版本中,但我还没有遇到过。似乎具有相同名称的文件,即使在不同的目录中也会混淆 VS.Net,它最终会在同名文件中设置断点。仅当文件中的类也具有相同名称时才可能发生。我猜对于命名空间来说太多了。

您可能还需要检查构建配置,以确保所有项目实际上都在调试模式下构建。我知道当解决方案的配置以某种方式发生更改时,我已经被抓住了几次,并且一些项目没有在调试模式下编译。

【讨论】:

    【解决方案2】:

    基比,你是对的!这是两个在不同文件夹中同名的文件。我在第 58 行的正确文件中设置断点 - 它在第 58 行将断点放在另一个文件上。我终于能够通过使用“调试-->新断点-->函数中断”来设置断点名称”菜单选项并输入我的功能名称。它完全像那时应该那样停止了。

    我同意 - 命名空间就这么多,对吧?该死的事情花了我几个小时。哦,好吧......至少它已经解决了,我知道为什么。

    谢谢你的回答,也谢谢马特的回复!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多