是否可以使用autoexp.dat更改typedef long MyType的显示?

时间:2009-11-10 02:40:25

标签: c++ visual-studio visual-c++ debugging

我的类型只是一个类型定义的长,我希望在调试器中以不同的方式显示。是否可以使用 autoexp.dat 执行此操作?

namespace MyNamespace
{
 typedef long DaysSinceItAllStarted;
}

1 个答案:

答案 0 :(得分:0)

我认为内置类型不可能;我也不确定这对你有什么好处:long是long,typedef-ed或not,你可以将它表示为普通或十六进制数字,但就是这样。

如果你想要在调试器中加入一个长变量意味着'DaysSinceItAllStarted'这一事实,那么为该变量选择一个好的描述性名称比试图让调试器做出漂亮的事情更好,其他人阅读你的代码甚至看不到。

但是,如果您使用struct / class,则可以将调试器设置为您想要的详细信息。

namespace MyNameSpace
{
  struct TimeSinceItAllStarted
  {
    unsigned long days;
    unsigned long hours;
  }
}

在autoexp.dat中:

MyNameSpace::TimeSinceItAllStarted = DaysSinceStart=<days,u>, HoursInThatDay=<hours,u>

在观察窗口

+theStartOfAllThings   {DaysSinceStart=0, HoursInThatDay=0}