Use*_*ser 7 c++ debugging native debuggervisualizer visual-studio
将Visual Studio 2010与本机C++一起使用.编辑autoexp.dat时,是否可以在调试可视化工具预览中使用方法调用的结果?
例如,如果我的班级是Person,我该怎么做:
MyNamespace::Person{
preview(
#("FirstName=", $e->GetFirstName())
)
}
Run Code Online (Sandbox Code Playgroud)
(你可能会问为什么我不只是获取私有成员变量数据,这是因为GetFirstName()委托给第三方库方法调用,所以我没有访问数据成员.另一个原因可能是方法执行一些计算.)
否,Visual Studio 调试器仅支持直接读取虚拟内存。支持 e->GetFirstName() 需要对 GetFirstName() 函数进行内省,如果 GetFirstName() 不是平凡的或虚拟的,这可能会非常复杂(更糟糕的是 GetFirstName() 可能会产生副作用或崩溃)。更改 autoexp.dat 不会让您解决这个问题。
如果您确实想获得此功能,您可以添加一个新的仅调试成员函数,例如 std::string *_firstName 并将其指向 Person 构造上的 GetFirstName(),然后取消引用 autoexp.dat 并为您显示此变量。
归档时间: |
|
查看次数: |
2234 次 |
最近记录: |