现在的位置: 首页 > 综合 > 正文

利用堆栈窗口定位错误

2013年02月19日 ⁄ 综合 ⁄ 共 879字 ⁄ 字号 评论关闭

1 错误提示:

2 点击“重试”,弹出如下窗口

3 点击”中断“,在vs界面上找到调用堆栈窗口,如图所示:

4 由上往下,很容易看到问题出现在DoDataExchage(`````)函数中,源码如下:

void CTrainDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON_START, m_btnStart);
DDX_Control(pDX, IDC_LIST1, m_ctlUSBList);
DDX_Control(pDX, IDC_IXYPLOTX1, m_ixyPlotForce);
DDX_Control(pDX, IDC_STATIC_STROKE, m_stcStroke);
DDX_Control(pDX, IDC_BUTTON_RETURN, m_btnReturn);
DDX_Control(pDX, IDC_ISEVENSEGMENTANALOGX1, m_iSevenSegmentAnalogX1);
DDX_Control(pDX, IDC_OCX1, m_video);
DDX_Control(pDX, IDC_STATIC_TIMELEFT, m_stcTimeLeft);
DDX_Control(pDX, IDC_STATIC_DISTANCE, m_stcDistance);
DDX_Control(pDX, IDC_STATIC_CALORIE, m_stcEnergy);
DDX_Control(pDX, IDC_ISEVENSEGMENTANALOGX_TIMELEFT, m_iSevenSAXTimeLeft);
}

5 找到错误!

原来数码管显示控件最先的ID为IDC_ISEVENSEGMENTANALOGX1,并关联变量m_iSevenSegmentAnalogX1。

后来我将数码管显示控件的ID改为IDC_ISEVENSEGMENTANALOGX_TIMELEFT,并关联变量m_iSevenSAXTimeLeft。结果就报错了!

抱歉!评论已关闭.