c++ - 当指向基类的指针指向特定子类时有条件地中断的断点

标签 c++ oop debugging visual-studio-2015 conditional-breakpoint

是否有任何适当的方法可以在 Visual Studio 2015 中设置条件断点,以便只要指向基类的指针指向指定的子类类型,它就会中断? (参见下面的示例屏幕截图)

我不想为此花时间编写调试实用程序代码,也不想破解虚拟表数据。

enter image description here

最佳答案

两种方式:

在您的 IDE 中添加以下作为断点条件:

dynamic_cast<DerivedClassYouWantToBreak*>(ptr.get())

或者将下面的代码添加到你的代码中并编译:

if (dynamic_cast<DerivedClassYouWantToBreak*>(ptr.get()))
{
    int breaksHere = 0; // put breakpoint here
}

关于c++ - 当指向基类的指针指向特定子类时有条件地中断的断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46180629/

相关文章:

c++ - XCode4 不能在 <> 中包含头文件

javascript - 在 javascript 中增强继承的函数

C 运行 'Debug' 和 'Start without debug' 时变量的不同答案

c++ - 调试断言失败_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

debugging - 如何在WebStorm中设置Dart调试?

c++ - 这是否为shared_ptr分配新的内存?

c++ - 将短/dos 样式路径名转换为完整路径名

c++ - 有没有一种简单的方法可以使用默认参数调用函数?

java - 潜在无用的对象

c - C 中的派生类 - 你最喜欢的方法是什么?