读书人

【怒求】调试中怎么知道枚举和宏的数

发布时间: 2013-03-26 09:54:34 作者: rapoo

【怒求】调试中,如何知道枚举和宏的数值?vs2010
RT,简直是怒求啊!!!监视板上不能打出来,鼠标放上去也什么都不显示,这怎么调试啊,代码都不是我写的。。。
[解决办法]

引用:
右键-》转到定义

调试中的话:quickwatch也不行么?
[解决办法]
宏定义调试就是这么恶心。

如果碰到调试宏定义的话(怀疑宏定义出问题)
我的方法:

自己建立变量传出来,看一下宏定义是否有问题。


如果有大师知道捷径,求赐教

[解决办法]
引用:
右键-》转到定义


有多重定义的地方。这个方法不行
[解决办法]
宏 编译后 就没有了。。。
VC的话 /P输出预处理之后的代码
[解决办法]
同样怒求,碰到过几次,无奈用了个变量。。
[解决办法]
要不加TRACE...

不过貌似有点雕虫小计的感觉...
[解决办法]
怒有何用,
真的有办法么?宏从出生的方式来说,本来就不是想给你可监控的东西。绕道解决吧。
[解决办法]
我通常用这个来观察变量:
#define PRINT1(f, ...)                                \
{ \
TCHAR buf[256]; \
wsprintf(buf, f, __VA_ARGS__); \
MessageBox(NULL, buf, TEXT("DEBUG"), MB_OK); \
}
#define PRINT2(f, v) \
{ \
TCHAR buf[256]; \
wsprintf(buf, TEXT(#v) TEXT(" = ") TEXT(#f), v); \
MessageBox(NULL, buf, TEXT("DEBUG"), MB_OK); \
}

void func()
{
int a = 1;
TCHAR b[] = TEXT("string");
PRINT1(TEXT("a = %d, b= %s."), a, b);
PRINT2(%d, a);
PRINT2(%s, b);


}


[解决办法]
怒给:用VA就可以了。鼠标往宏或枚举上一放,值就显示出来了,是显示直接定义还是最终值,请在VA选项里配置
[解决办法]
redui大哥说的没错,推荐VA,光标悬停在上面, alt+g 自动跳转,没问题的

读书人网 >VC/MFC

热点推荐