gdb调试stm32时遇到0x00000000 in ?? ()

2019-03-23 19:12发布

static void DEV_ReadCommSets(void)
{
  UINT32 i, value;
   
    tParaSet *pSets = DevCommSets;

    DF_ReadMainMemoryPage(SAVE_DEV_COMM_SETS_PAGE,
                          DEV_ReadData, COMM_MAX_SETS * 4 + 4);

    for (i = 0; i < COMM_MAX_SETS; i++)
    {
        value = BytesToDword(&DEV_ReadData[i * 4]);

         pSets->value = value;
        if ((pSets->value > pSets->MaxValue) || (pSets->value < pSets->MinValue))
        {
            pSets->value = pSets->DefValue;
        }
        pSets++;
    }

    DEV_CommSetsCrc = BytesToDword(&DEV_ReadData[i * 4]);
}

(gdb) c
Continuing.

Breakpoint 1, DEV_ReadCommSets () at device.c:984
984                 pSets->value = value;
(gdb) n
0x00000000 in ?? ()    出现这种问题,请问我该怎么查,谢谢
(gdb) n
Cannot find bounds of current function  
(gdb) n
Cannot find bounds of current function 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
ddllxxrr
1楼-- · 2019-03-24 04:07
 精彩回答 2  元偷偷看……
cheng_bingyuan
2楼-- · 2019-03-24 07:52
编译通过了
ddllxxrr
3楼-- · 2019-03-24 08:34
那就是环境有毛病,从地址0000000开始,就是说没有进入main
cheng_bingyuan
4楼-- · 2019-03-24 09:51
 精彩回答 2  元偷偷看……

一周热门 更多>