0

我正在尝试调试一些代码,因为一个类在调用时会引发异常。
代码是:

    public TrackingStrategy1(string Name, RobotGeometry geometry)
    {
        trackSystem = new TrackSystem(geometry, Name);
    }

它调用(在同一个项目中):

    public TrackSystem(RobotGeometry geometry, string Name)
    {
        finder = new FindModel(geometry);  //breakpoint inserted here fails
        finder.InitModel();

        finder.useGPU = false;
    }

我收到异常'找不到方法:TrackSystem.FindModel..ctor(RobotGeometry)。但是,此时插入的断点不会被命中。如果我注释掉新行,我会在下一行得到相同的异常。

FindModel 在解决方案中包含的另一个项目中被引用,我已经多次重新引用该项目,然后进行了重建。

为什么 Visual Studio 不会在此构造函数中插入的断点处停止?

4

1 回答 1

0

在加载每个类之前,Visual Studio 会检查是否存在所有外部 dll 方法调用。
因为这发生在调用构造函数之前,所以构造函数中的断点永远不会被调用。

在这种情况下,失败的原因是 2 个不同的项目引用了不同版本的 FindModel - 并且在构建中使用了该项目的错误版本。

于 2012-07-18T02:27:59.183 回答