[英]View most derived type in debugger
我正在编写一个C ++项目并构建一个包含各种继承相关类型的DAG。 我在施工后放置了一个断点,我想查看DAG。 但调试器只显示基类。 它将命名__vfptr
条目旁边最派生的类型,但我实际上无法查看它的内容并验证它们是我期望的那样。 有没有办法直接在Locals窗口中查看派生类型最多的类型?
我的目标是x64,如果这是相关的。
似乎对我有用的唯一方法是告诉调试器在autoexp.dat的帮助下正确显示对象。 不确定它在vs2010中的效果如何,我还在使用2008.这种方法非常适合智能指针。 如果您正在尝试查看原始指针,我猜,您需要在监视/快速监视窗口中手动转换指针。 如果它是某种smartpointer或存储该原始基指针的类,那么您可以通过这种方式使用autoexp.dat完成它(假设您的基本ptr被称为m_ptr):
smart_ptr<*>{
preview
(
#if (($e.m_ptr)!=0)
(
#(
"smart_ptr ",
(*(($T1 *)$e.m_ptr))
)
)
#else
(
#("<Bad Ptr>")
)
)
children
(
#(
ptr: (*(($T1 *)$e.m_ptr))
)
)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.