利用vc正在写一个类似vc编译环境的软件,但总提示断言失败导致程序无法运行,具体情况是当我运行的时候会弹出一个对话框提示我:vc98\MFC\SRC下文件dockstat.cpp第583行 debug assertion failed,dockstat.cpp第583行是这样的ASSERT(m_pContext!=NULL),dockstat.cpp是vc里带的文件我也不知道具体是什么问题,不知如何修改,请各位大侠指教。
调试欢乐多
你从“点击右键”开始找,是你的上下文菜单(右键菜单传指针出问题),从你的m_pContext名字也可猜是上下文菜单。
没有设置断点直接按F5运行,直接就跳到dockstat.cpp中SetBarInfo()函数中ASSERT(m_pContext!=NULL),看不到哪里调用
1.鼠标点击int CMainFrame::OnCreate()光标指向函数的最后return 0这里。
2.鼠标点击InitInstance()光标指向函数中的
if(!(pMainFrame-〉LoadFrame(IDR_MAINFRAME)))
{
return FALSE;
}
3.在调用堆栈中找到这两个函数同时还有一个库,库是自定义的,这个库是汇编代码
另外:
在int CMainFrame::OnCreate()函数的最后有这样几句代码如下:
{
CDockState dockState;
dockState.LoadState(CONTROL_BARS);
if(IsDockStateValid(dockState))
{
SetDockState(dockState);
}
return;
}我在SetDockState(dockState)设置断点调试时,出现call stack unavailable while child is running 出现了上面很多问题,可无从下手到底问题出在哪里,本人很菜,请各位高手多多指教