windBG源代码调试,在局部变量窗口中看不到局部变量

windbg source code debug ,can not see local variable in locals window

本文关键字:局部变量 窗口 看不到 源代码 调试 windBG      更新时间:2023-10-16

我正在使用windbg处理远程调试,一切正常,我可以使用f10或f11进行步进调试。我的调试环境是win7,语言是c ++。
有一个问题,我在函数中看不到局部变量,如下图所示。

为什么会出现这种情况?在我看来,如果我能看到过程的所有寄存器,我一定能看到bRet的局部变量。

有人可以帮助我吗?非常感谢。

这是代码

bool CNBAGFxFont::Init() 
{ 
    bool bret = true;
    m_pFontlib = *new GFxFontLib(); 
    if (m_pFontlib) 
    { 
        bret = m_pFontlib->Init(); 
    }
    if (!bret) 
    {
          m_pFontlib = NULL;
          m_pGFxLoader->SetFontProvider(NULL); 
          return bret; 
    } 
    //m_pFontMC = *m_pGFxLoader->CreateMovie("gfxfontlib.swf");
    //m_pFontlib->AddFontsFrom(m_pFontMC, true)
  }

这是调试时的屏幕截图

该程序经过优化编译。

来自OP的评论:

如果我禁用了优化,WinDbg 可以工作,我可以在窗口中看到局部变量