none
vs 2005中如何调试宏 RRS feed

  • 问题

  • 在vs2005中,使用宏包装了一个函数,调试的时候进不来。请问如何调试宏中的代码?谢谢。
    D
    2010年11月15日 2:41

答案

全部回复

  • 把宏定义和函数声明贴上来看一下
    麻烦把正确答案设为解答。
    2010年11月15日 3:05
    版主
  • 比如:

    #define ToStr(x) #x
    #define  print(var) \
     printf("%6s = %d, p = %d, d = %d.\n",ToStr(var),&var,p,(int)&var-(int)p);\
     p = &var

    我希望调试的时候能进入 p = &var(这只是一个简单示例,通过printf打印变量值的方案是不合适的)


    D
    2010年11月15日 3:21
  • 宏只是一种替换

    你到应用宏的位置看看该换的东西有没有正确代替就知道宏执行的对不对了

    2010年11月15日 7:06
  • 宏是在编译前就进行替换的,所以编译过程中无法获得其相干信息。于是debug时也就没有相应的符号。
    麻烦把正确答案设为解答。
    2010年11月16日 3:59
    版主
  • 宏是预编译的时候做替换,基本靠想象,反正我就是这样


    新来乍到
    2010年11月18日 7:21