TRACE 在vc下是一个不可多得的利器呀,呵呵 
但最近我在debug下 用“心爱”的TRACE 出现问题拉
比如说, for(i=0;i<height;i++)
{
for(j=0;j<width;j++)
{
          TRACE("%d",dis_cb.pBuffer[i*width+j]);
}
TRACE("\n");
}
她居然出现有些行不是按width宽度来换,大家知道咋回事不?是不是TRACE只是一种请求,而不是一种保证呀
ps:大家都来说说trace的用法,说的一律送分:)

解决方案 »

  1.   

    OnDraw 里面设断点,不好用,就用Trace
      

  2.   

    有些行不是按width宽度来换???
      

  3.   

    控制输出宽度,应该是在这里吧:TRACE("%d",dis_cb.pBuffer[i*width+j]);把%d改为%5d或者其他,具体数字根据你的需要来设置。
      

  4.   

    有些行不是按width宽度来换???啥意思?
      

  5.   

    参考这个用法
    TRACE1("Error: Trying to create object which is not "
    "DECLARE_DYNCREATE \nor DECLARE_SERIAL: %hs.\n",
    m_lpszClassName);
    TRACE1("Error: Trying to create object which is not "
    "DECLARE_DYNCREATE \nor DECLARE_SERIAL: %hs.\n",
    m_lpszClassName);
    TRACE1("Error: Trying to create object which is not "
    "DECLARE_DYNCREATE \nor DECLARE_SERIAL: %hs.\n",
    m_lpszClassName);
      

  6.   

    你设置的buffer是多大呀?会不会超出范围了?
      

  7.   

    看到你们热情洋溢的留言,好感动呀....
    你们用TRACE 输出一大批数据时,就从来没有遗漏过???
      

  8.   

    我的Buffer就是BYTE[width*height]
    不会益处的 呵呵
    width,height,直是不变的有些行不是按width宽度来换???啥意思?
    解释如下: 比如说图象本来是5*10的,第一行是5个,第二行也是5个,可能第3行就变了,变成7个或是变成3个
    但总体是5*10的个数
      

  9.   

    咋没人进来拉,hoho~~~~~~
      

  10.   

    for(i=0;i<height;i++)
    {
             width=??; //求出第i行的宽度
    for(j=0;j<width;j++)
    {
                     TRACE("%d",dis_cb.pBuffer[i*width+j]);
    }
    TRACE("\n");
    }