一部のアプリケーション(Autodesk Revit)にロードされた C++/CLI モジュールをデバッグするために WINDBG を使用しようとしています。問題は、アンマネージ クラス メソッドに設定されたブレークポイントがヒットしないことです。私はこのクラスを持っています:
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"
ただし、クラスのオブジェクトがインスタンス化され、メンバー関数が呼び出されても、これらのブレークポイントはヒットしません。何か案は ?