假设我有一些基类 A 和两个派生类 B 和 C。类 A 有一些称为 f() 的方法。
有没有办法在 Visual Studio 的 A::f() 中设置条件断点,只有当我的“this”实际上是 C 类的实例时才会被命中?
例如
void A::f()
{
some code and a breakpoint
}
void foo(A* a)
{
a->f();
}
void bar()
{
A a;
B b;
C c;
foo(&a); // breakpoint isn't hit
foo(&b); // breakpoint isn't hit
foo(&c); // breakpoint is hit
}
我已经设法通过在断点条件下测试虚拟表指针来实现它,但必须有更好(更简单)的方法。
提前致谢。
编辑:按照评论中的建议修改源代码并不是我正在寻找的解决方案。它只能通过 VC++ 调试器来完成。