在调试bug时,经常遇到这种奇怪问题
void CMyApp::MyFun()
{
      …
       CString strTemp;
       int i;      
  ●   i=10;
  ●   strTemp=m_mMsg.m_strText;//当跟踪到此处时,Watch内经常看不到strTemp 值,但有时又可以看到,其它简单类型如int i值总是可以显示
       …     
}
这是为何?怎样才能在Watch或Variables内看到CString变量?
请大侠指点,小弟在此谢过!

解决方案 »

  1.   

    我是说比如在
    void CApp::MyFun()
    {
            …
            CString strTemp;
            int i;      
     a ●   i=10;
     b ●   strTemp=m_mMsg.m_strText;
            … 
     c ●   i=i++;
            …
          //我试过了,当跟踪到c断点时,variable\Locals里面和Watch内还是看不到strTemp!
    如果在Watch1-Watch4里填入strTemp,&strTemp均显示 strTemp   CXX0017:Error:symbol"strTemp"not found   这是为什么?我认为是VC哪里没设置好,或是VC本身不稳定或Bug引起,我用的中文版和英文版都经常出现此问题。因为我什么都没动,上午not found,下午又莫名出现了。其它简单类型如int i则从不发生此类问题,希望各位大仙再帮忙看一下。
    }顺便问一下,我在一个客户端用
    CFile file(NeedReadFileName,CFile::modeRead|CFile::shareDenyWrite)模式
    打开NeedReadFileName文件;
    在另一个客户端用
    CFile NeedWriteFileName;
    NeedWriteName.Open(tt,CFile::modeWrite|CFile::modeCreate)模式
    准备写,但这种方式不知怎么回事只能传接txt文件其它文件无法传接
    请问我需要将CFile::typeBinary添加进去吗?如果否,我该如何传接任意文件?
    谢谢!