Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS Tech Support » Dynamic memory overrun Collapse All
Subject Author Date
Andrey Pinchuk Jan 11, 2007 - 2:23 AM

Hello.
This is problem in the BoundChecker checked.
-------------------------------------------------------------------------------------------------------
Dynamic memory overrun
1520 byte block allocated in D:\My projects\AwsServer\ChildView.cpp (44)
HANDLE: 0x03611FD8
allocating thread ID: 0x888, current thread ID: 0x888

Location of Error
CExtPopupMenuWnd::`scalar deleting destructor’    d:\prof-uis\include\extcustomize.h    902
CExtPopupMenuSite::_Done    D:\Prof-UIS\Src\ExtPopupMenuWnd.cpp    906
CExtPopupMenuSite::DoneInstance    D:\Prof-UIS\Src\ExtPopupMenuWnd.cpp    837
CExtPopupMenuWnd::PostNcDestroy    D:\Prof-UIS\Src\ExtPopupMenuWnd.cpp    5769
CWnd::OnNcDestroy    wincore.cpp    842
CWnd::OnWndMsg    wincore.cpp    1824
CWnd::WindowProc    wincore.cpp    1585
CExtPopupBaseWnd::WindowProc    D:\Prof-UIS\Src\ExtPopupMenuWnd.cpp    4619
CExtPopupMenuWnd::WindowProc    D:\Prof-UIS\Src\ExtPopupMenuWnd.cpp    12313
AfxCallWndProc    wincore.cpp    215
AfxWndProc    wincore.cpp    367
USER32.DLL!00008704    (unknown)    (unknown)
USER32.DLL!000087E6    (unknown)    (unknown)
USER32.DLL!0000B363    (unknown)    (unknown)
USER32.DLL!0000E634    (unknown)    (unknown)
CExtPopupMenuWnd::DestroyWindow    D:\Prof-UIS\Src\ExtPopupMenuWnd.cpp    10440
CExtPopupMenuWnd::_OnCancelMode    D:\Prof-UIS\Src\ExtPopupMenuWnd.cpp    13549
CExtPopupMenuSite::_HookMouseProc    D:\Prof-UIS\Src\ExtPopupMenuWnd.cpp    1154
USER32.DLL!00016E41    (unknown)    (unknown)

I?ienoiaeo anee nicaaaaou eiioaenoiia iai?:

CExtPopupMenuWnd * pPopup = new CExtPopupMenuWnd();
pPopup->CreatePopupMenu(GetSafeHwnd());
pPopup->ItemInsertCommand(ID_COM,-1,"text",NULL,AfxGetApp()->LoadIcon(IDI_COM));
CPoint p;
GetCursorPos(&p);
pPopup->TrackPopupMenu(0, p.x, p.y);
------------------------------------------------------------
A Aa?nee 2.61 Yoie i?iaeaiu ia auei.

Sergiy Lavrynenko Jan 11, 2007 - 5:17 AM

Dear Andrey,

The DevPartner software (more modern Bounds Checker version) is provided with a set of Error Suppression files. Each file is the database of errors for some EXE/DLL module which should never be displayed by DevPartner as the errors. The Error Suppression files are provided for many DLLs from the $Windows$/System32 folder. The DevPartner software does not provide such "error" database for Prof-UIS and we too. Previously, we faced many "errors" in both DevPartner and Purify but all of them were not the real errors. For instance, we are often writing code lines which are needed just to make Prof-UIS more "compatible" with both both DevPartner and Purify:

SOME_WIN32_STRUCT_TYPE varName;
::memset( &varName, 0, sizeof( SOME_WIN32_STRUCT_TYPE ) );
varName.cbSize = sizeof( SOME_WIN32_STRUCT_TYPE );
The memset() invocation is needed just to avoid the uninitialized memory usage error message in DevPartner logs. In fact, even if the memset() function is not invoked - we are sure we are not using uninitialized memory when DevPartner reports this.