I am trying to debug an application and I keep running into this error around the break point:
File f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\filelist.cpp
Line:255
What does this error mean? The following is my call stack around the point where a debug assertion error occurs:
mfc100d.dll!CRecentFileList::Add(const char * lpszPathName, const char * lpszAppID) Line 225 + 0x25 bytes C++
mfc100d.dll!CWinApp::AddToRecentFileList(const char * lpszPathName) Line 84 C++
mfc100d.dll!CDocument::SetPathName(const char * lpszPathName, int bAddToMRU) Line 296 C++
mfc100d.dll!COleDocument::SetPathName(const char * lpszPathName, int bAddToMRU) Line 183 C++
WinSTM.exe!CWinSTMDoc::CopyDoc(CWinSTMDoc * pDocNew, int chan) Line 486 + 0x3b bytes C++
WinSTM.exe!CWinSTMView::CreateNewDoc(CWinSTMDoc * pDoc) Line 2717 C++
WinSTM.exe!CWinSTMView::OnImageAutoPlane() Line 4789 + 0x11 bytes C++
mfc100d.dll!_AfxDispatchCmdMsg(CCmdTarget * pTarget, unsigned int nID, int nCode, void (void)* pfn, void * pExtra, unsigned int nSig, AFX_CMDHANDLERINFO * pHandlerInfo) Line 82 C++
mfc100d.dll!CCmdTarget::OnCmdMsg(unsigned int nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo) Line 381 + 0x27 bytes C++
mfc100d.dll!CView::OnCmdMsg(unsigned int nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo) Line 166 + 0x18 bytes C++
mfc100d.dll!CFrameWnd::OnCmdMsg(unsigned int nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo) Line 969 + 0x23 bytes C++
mfc100d.dll!CWnd::OnCommand(unsigned int wParam, long lParam) Line 2676 C++
mfc100d.dll!CFrameWnd::OnCommand(unsigned int wParam, long lParam) Line 371 C++
mfc100d.dll!CWnd::OnWndMsg(unsigned int message, unsigned int wParam, long lParam, long * pResult) Line 2081 + 0x1e bytes C++
mfc100d.dll!CWnd::WindowProc(unsigned int message, unsigned int wParam, long lParam) Line 2067 + 0x20 bytes C++
mfc100d.dll!AfxCallWndProc(CWnd * pWnd, HWND__ * hWnd, unsigned int nMsg, unsigned int wParam, long lParam) Line 248 + 0x1c bytes C++
mfc100d.dll!CMDIFrameWnd::OnCommand(unsigned int wParam, long lParam) Line 48 + 0x23 bytes C++
mfc100d.dll!CWnd::OnWndMsg(unsigned int message, unsigned int wParam, long lParam, long * pResult) Line 2081 + 0x1e bytes C++
mfc100d.dll!CWnd::WindowProc(unsigned int message, unsigned int wParam, long lParam) Line 2067 + 0x20 bytes C++
mfc100d.dll!AfxCallWndProc(CWnd * pWnd, HWND__ * hWnd, unsigned int nMsg, unsigned int wParam, long lParam) Line 248 + 0x1c bytes C++
mfc100d.dll!AfxWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned int wParam, long lParam) Line 411 C++
mfc100d.dll!AfxWndProcBase(HWND__ * hWnd, unsigned int nMsg, unsigned int wParam, long lParam) Line 420 + 0x15 bytes C++
user32.dll!_InternalCallWinProc@20() + 0x23 bytes
user32.dll!_UserCallWinProcCheckWow@32() + 0xb3 bytes
user32.dll!_DispatchMessageWorker@8() + 0xe6 bytes
user32.dll!_DispatchMessageA@4() + 0xf bytes
mfc100d.dll!AfxInternalPumpMessage() Line 183 C++
mfc100d.dll!CWinThread::PumpMessage() Line 900 C++
mfc100d.dll!CWinThread::Run() Line 629 + 0xd bytes C++
mfc100d.dll!CWinApp::Run() Line 822 C++
mfc100d.dll!AfxWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 47 + 0xd bytes C++
WinSTM.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 26 C++
WinSTM.exe!__tmainCRTStartup() Line 547 + 0x2c bytes C
WinSTM.exe!WinMainCRTStartup() Line 371 C
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes
Here are my autos/variable values:
-&psi 0x0024eb78 {0x00000000} ATL::CComPtr<IShellItem> *
-ATL::CComPtrBase<IShellItem> {p=0x00000000 } ATL::CComPtrBase<IShellItem>
- p 0x00000000 IShellItem *
- IUnknown {...} IUnknown
__vfptr CXX0030: Error: expression cannot be evaluated
Here is the code where the assertion occurs:
void CDocument::SetPathName(LPCTSTR lpszPathName, BOOL bAddToMRU)
{
TCHAR szFullPath[_MAX_PATH];
ENSURE(lpszPathName);
if ( lstrlen(lpszPathName) >= _MAX_PATH )
{
ASSERT(FALSE);
AfxThrowFileException(CFileException::badPath);
}
if( AfxFullPath(szFullPath, lpszPathName) == FALSE )
{
ASSERT(FALSE);
AfxThrowFileException(CFileException::badPath);
}
m_strPathName = szFullPath;
ASSERT(!m_strPathName.IsEmpty());
m_bEmbedded = FALSE;
ASSERT_VALID(this);
TCHAR szTitle[_MAX_FNAME];
if (AfxGetFileTitle(szFullPath, szTitle, _MAX_FNAME) == 0)
SetTitle(szTitle);
if (bAddToMRU)
AfxGetApp()->AddToRecentFileList(m_strPathName);
ASSERT_VALID(this);
}
Is this just telling me that a pointer is bad?
Thanks!