2

我正在尝试使用 WINDBG 调试在某些应用程序(Autodesk Revit)中加载的 C++/CLI 模块。问题是未命中非托管类方法中设置的断点。我有这门课:

class NativeGeometryShape {
public :
    NativeGeometryShape()
        : width_(10), height_(12)
    {}

    int GetArea() const;

private :
    int width_;
    int height_;
};

检查符号提供以下信息:

0:000> x addon_revit2014!Native*
<MSIL:58bd350c         > addon_revit2014!NativeGeometryShape::GetArea (void)
<MSIL:58bd1264         > addon_revit2014!NativeGeometryShape::NativeGeometryShape (void)
58bd3500          addon_revit2014!NativeGeometryShape::GetArea (<no parameter info>)
58bd3520          addon_revit2014!NativeGeometryShape::GetArea (<no parameter info>)
58bd1258          addon_revit2014!NativeGeometryShape::NativeGeometryShape (<no parameter info>)

所以我使用 bm 命令设置一些断点:

0:000> bm addon_revit2014!Native*
      1: <MSIL:58bd350c         > @!"addon_revit2014!NativeGeometryShape::GetArea"
      2: <MSIL:58bd1264         > @!"addon_revit2014!NativeGeometryShape::NativeGeometryShape"
      3: 58bd3500          @!"addon_revit2014!NativeGeometryShape::GetArea"
      4: 58bd3520          @!"addon_revit2014!NativeGeometryShape::GetArea"
      5: 58bd1258          @!"addon_revit2014!NativeGeometryShape::NativeGeometryShape"

然而,这些断点永远不会被命中,即使类的对象被实例化并且成员函数被调用。有任何想法吗 ?

4

1 回答 1

0

尝试在成员上设置访问断点,并查看它们何时被访问,以及从哪个函数(bar1)

于 2013-05-26T20:28:39.770 回答