[GME-commit] GMESRC/GME/Gme ExceptionHandler.cpp, 1.2, 1.3 ExceptionHandler.h, 1.1, 1.2 GMEApp.cpp, 1.152, 1.153 GMEView.cpp, 1.200, 1.201 GMEView.h, 1.83, 1.84 StdAfx.h, 1.12, 1.13

Log messages of CVS commits gme-commit at list.isis.vanderbilt.edu
Fri Apr 11 18:45:26 CDT 2008


Update of /project/gme-repository/GMESRC/GME/Gme
In directory escher:/tmp/cvs-serv32209/Gme

Modified Files:
	ExceptionHandler.cpp ExceptionHandler.h GMEApp.cpp GMEView.cpp 
	GMEView.h StdAfx.h 
Log Message:
Further ExceptionHandler development and fixes (XML compliancy)

CVS User:  (csaba)

Index: ExceptionHandler.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/ExceptionHandler.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ExceptionHandler.h	8 Apr 2008 21:30:45 -0000	1.1
--- ExceptionHandler.h	11 Apr 2008 23:45:24 -0000	1.2
***************
*** 56,60 ****
  	void AddTabs(void);
  	void AddTabs(DWORD tabCount);
! 	void AddRawText(CString text);
  	void PrintTag(const TCHAR* tagString, bool open, bool withTabs, bool nl);
  
--- 56,60 ----
  	void AddTabs(void);
  	void AddTabs(DWORD tabCount);
! 	void AddRawText(CString text, bool escape = true);
  	void PrintTag(const TCHAR* tagString, bool open, bool withTabs, bool nl);
  
***************
*** 119,125 ****
  	static void				GenerateUserStreamData(const char* msg, PEXCEPTION_POINTERS pExceptionInfo);
  
- //	static void				LogComputerInfo(void);
  	static void				LogProgramInfo(void);
- //	static void				LogSystemTime(SYSTEMTIME sysTime, const TCHAR* timeName);
  	static void				LogOSInfo(void);
  	static void				LogExceptionInfo(const char* msg, PEXCEPTION_RECORD pExceptionRecord);
--- 119,123 ----

Index: GMEView.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEView.cpp,v
retrieving revision 1.200
retrieving revision 1.201
diff -C2 -d -r1.200 -r1.201
*** GMEView.cpp	10 Apr 2008 23:02:08 -0000	1.200
--- GMEView.cpp	11 Apr 2008 23:45:24 -0000	1.201
***************
*** 20,24 ****
--- 20,26 ----
  #include "GmePrintDialog.h"
  #include "ConnityDlg.h"
+ #if defined(ADDCRASHTESTMENU)
  #include "CrashTest.h"
+ #endif
  
  #include "Autoroute/AutoRouter.h"
***************
*** 342,345 ****
--- 344,348 ----
  	ON_UPDATE_COMMAND_UI(ID_JUMPALONGCONN, OnUpdateJumpAlongConnection)
  	ON_UPDATE_COMMAND_UI(ID_BACKALONGCONN, OnUpdateBackAlongConnection)
+ #if defined(ADDCRASHTESTMENU)
  	ON_COMMAND(ID_CRASHTEST_ILLEGALWRITE, OnCrashTestIllegalWrite)
  	ON_COMMAND(ID_CRASHTEST_ILLEGALREAD, OnCrashTestIllegalRead)
***************
*** 353,356 ****
--- 356,360 ----
  	ON_UPDATE_COMMAND_UI(ID_CRASHTEST_ILLEGALCODEREAD, OnUpdateCrashTestIllegalCodeRead)
  	ON_UPDATE_COMMAND_UI(ID_CRASHTEST_DIVIDEBYZERO, OnUpdateCrashTestDivideByZero)
+ #endif
  	ON_COMMAND(ID_CNTX_PREFERENCES, OnCntxPreferences)
  	ON_COMMAND(ID_EDIT_PREFERENCES, OnEditPreferences)
***************
*** 4571,4575 ****
  				CMenu *submenu = menu.GetSubMenu(0);
  				currentAspect->InitContextMenu(submenu);
! #if defined (_DEBUG)
  				CMenu crashTestMenu;
  				crashTestMenu.LoadMenu(IDR_CRASH_TEST_MENU);
--- 4575,4579 ----
  				CMenu *submenu = menu.GetSubMenu(0);
  				currentAspect->InitContextMenu(submenu);
! #if defined(ADDCRASHTESTMENU)
  				CMenu crashTestMenu;
  				crashTestMenu.LoadMenu(IDR_CRASH_TEST_MENU);
***************
*** 5998,6001 ****
--- 6002,6006 ----
  }
  
+ #if defined(ADDCRASHTESTMENU)
  void CGMEView::OnCrashTestIllegalWrite(void) 
  {
***************
*** 6052,6055 ****
--- 6057,6061 ----
  	pCmdUI->Enable();
  }
+ #endif
  
  void CGMEView::OnCntxClear()	// set refs to null, delete all members from set

Index: GMEView.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEView.h,v
retrieving revision 1.83
retrieving revision 1.84
diff -C2 -d -r1.83 -r1.84
*** GMEView.h	10 Apr 2008 23:02:08 -0000	1.83
--- GMEView.h	11 Apr 2008 23:45:24 -0000	1.84
***************
*** 479,482 ****
--- 479,483 ----
  	afx_msg void OnUpdateJumpAlongConnection( CCmdUI* pCmdUI );
  	afx_msg void OnUpdateBackAlongConnection( CCmdUI* pCmdUI );
+ #if defined(ADDCRASHTESTMENU)
  	afx_msg void OnCrashTestIllegalWrite();
  	afx_msg void OnCrashTestIllegalRead();
***************
*** 490,493 ****
--- 491,495 ----
  	afx_msg void OnUpdateCrashTestIllegalCodeRead(CCmdUI* pCmdUI);
  	afx_msg void OnUpdateCrashTestDivideByZero(CCmdUI* pCmdUI);
+ #endif
  	afx_msg void OnShowSelectedModel();
  	afx_msg void OnFocusBrowser();

Index: StdAfx.h
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/StdAfx.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** StdAfx.h	26 Jan 2005 17:28:28 -0000	1.12
--- StdAfx.h	11 Apr 2008 23:45:24 -0000	1.13
***************
*** 18,21 ****
--- 18,25 ----
  #define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers
  
+ #if defined(_DEBUG)
+ #define ADDCRASHTESTMENU
+ #endif
+ 
  #include <afxwin.h>         // MFC core and standard components
  #include <afxext.h>         // MFC extensions

Index: ExceptionHandler.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/ExceptionHandler.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ExceptionHandler.cpp	10 Apr 2008 23:02:08 -0000	1.2
--- ExceptionHandler.cpp	11 Apr 2008 23:45:24 -0000	1.3
***************
*** 189,194 ****
  
  
! void XMLTag::AddRawText(CString text)
  {
  	m_UserCrashData = m_UserCrashData + text;
  }
--- 189,202 ----
  
  
! void XMLTag::AddRawText(CString text, bool escape)
  {
+ 	// For XML well formedness
+ 	if (escape) {
+ 		text.Replace("&", "&amp;");
+ 		text.Replace("<", "&lt;");
+ 		text.Replace(">", "&gt;");
+ 		text.Replace("'", "&apos;");
+ 		text.Replace("\"", "&quot;");
+ 	}
  	m_UserCrashData = m_UserCrashData + text;
  }
***************
*** 199,206 ****
  	if (withTabs)
  		AddTabs();
! 	AddRawText(_T("<"));
  	if (!open)
  		AddRawText(_T("/"));
! 	AddRawText(CString(tagString) + _T(">"));
  	if (nl)
  		AddRawText(_T("\n"));
--- 207,215 ----
  	if (withTabs)
  		AddTabs();
! 	AddRawText(_T("<"), false);
  	if (!open)
  		AddRawText(_T("/"));
! 	AddRawText(tagString);
! 	AddRawText(_T(">"), false);
  	if (nl)
  		AddRawText(_T("\n"));
***************
*** 359,364 ****
  CString							ExceptionHandler::m_FaultingModuleName;
  std::vector<CString>			ExceptionHandler::m_openedXmlTags;
! UINT							ExceptionHandler::m_maxStackDepth = 200;
! UINT							ExceptionHandler::m_maxTypeDumpDepth = 20;
  
  
--- 368,373 ----
  CString							ExceptionHandler::m_FaultingModuleName;
  std::vector<CString>			ExceptionHandler::m_openedXmlTags;
! UINT							ExceptionHandler::m_maxStackDepth = 100;
! UINT							ExceptionHandler::m_maxTypeDumpDepth = 5;
  
  
***************
*** 434,438 ****
  
  	m_createMinidump = theApp.EmergencySave(CGMEApp::BringUpDialogOnly);
- 
  	if (m_createMinidump) {
  		LoadDbgHelpDll();
--- 443,446 ----
***************
*** 442,445 ****
--- 450,454 ----
  		GenerateFileName(generatedFileName);
  		GenerateMiniDump(pExp, generatedFileName);
+ 		ShellExecute(NULL, "explore", m_szMinidumpDir, NULL, NULL, SW_SHOWNORMAL);
  	}
  
***************
*** 489,506 ****
  	_tcscpy(miniDumpFilePath, m_szMinidumpDir);
  
- /*	TCHAR computerName[MAX_PATH];
- 	DWORD computerNameLength = MAX_PATH;
- 	GetComputerName(computerName, &computerNameLength);
- 	TCHAR userName[MAX_PATH];
- 	DWORD userNameLength = MAX_PATH;
- 	GetUserName(userName, &userNameLength);*/
- 
  	TCHAR minidumpFileName[MAX_PATH];
  	_stprintf(
  		minidumpFileName,
- //		_T("GME_CrashDump-%s-%s-%04d-%02d-%02d_(%02d-%02d-%02d)_%lu_%lu.dmp"),
  		_T("GME_CrashDump-%04d-%02d-%02d_(%02d-%02d-%02d)_%lu_%lu.dmp"),
- //		computerName,
- //		userName,
  		m_sessionStart.wYear,
  		m_sessionStart.wMonth,
--- 498,505 ----
***************
*** 580,622 ****
  }
  
- /*
- void ExceptionHandler::LogComputerInfo(void)
- {
- 	char	computerName[MAX_COMPUTERNAME_LENGTH + 1];
- 	char	domainName[256], accountName[256], userName[256];
- 	char	infoBuffer[1000];
- 	HANDLE	hAccessToken	= NULL;
- 	DWORD	infoBufferSize	= sizeof(infoBuffer);
- 	DWORD	domainSize		= 256;								// sizeof(domainName);
- 	DWORD	computerSize	= MAX_COMPUTERNAME_LENGTH + 1;		// sizeof(computerName);
- 	DWORD	accountSize		= 256;								// sizeof(accountName);
- 	DWORD	userSize		= 256;								// sizeof(userName);
- 
- 	strcpy(computerName, "");
- 	strcpy(domainName, "");
- 	strcpy(accountName, "");
- 	strcpy(userName, "");
- 
- 	XMLTag computerInfoTag(ComputerInfoXMLTag, m_openedXmlTags, m_UserCrashData);
- 
- 	if (GetComputerName(computerName, &computerSize))
- 		XMLTag xmlTag(ComputerNameXMLTag, computerName, m_openedXmlTags, m_UserCrashData);
- 
- 	if (GetUserName(userName, &userSize))
- 		XMLTag xmlTag(UserNameXMLTag, userName, m_openedXmlTags, m_UserCrashData);
- 
- 	if (OpenProcessToken(m_hProcess, TOKEN_READ, &hAccessToken)) {
- 		if (GetTokenInformation(hAccessToken, TokenUser, infoBuffer, infoBufferSize, &infoBufferSize)) {
- 			SID_NAME_USE snu;
- 			PTOKEN_USER pTokenUser = (PTOKEN_USER)infoBuffer;
- 			if (LookupAccountSid(NULL, pTokenUser->User.Sid, accountName, &accountSize, domainName, &domainSize, &snu)) {
- 				XMLTag accountNameTag(AcountNameXMLTag, accountName, m_openedXmlTags, m_UserCrashData);
- 				XMLTag domainNameTag(DomainNameXMLTag, domainName, m_openedXmlTags, m_UserCrashData);
- 			}
- 		}
- 	}
- 	return;
- }
- */
  
  void ExceptionHandler::LogProgramInfo(void)
--- 579,582 ----
***************
*** 648,670 ****
  }
  
- /*
- void ExceptionHandler::LogSystemTime(SYSTEMTIME sysTime, const TCHAR* timeName)
- {
- 	XMLTag timeNameTag(timeName, m_openedXmlTags, m_UserCrashData);
- 
- 	// Output Year
- 	XMLTag yearTag(YearXMLTag, sysTime.wYear, "%04d", m_openedXmlTags, m_UserCrashData);
- 	// Output Month
- 	XMLTag monthTag(MonthXMLTag, sysTime.wMonth, "%02d", m_openedXmlTags, m_UserCrashData);
- 	// Output Day
- 	XMLTag dayTag(DayXMLTag, sysTime.wDay, "%02d", m_openedXmlTags, m_UserCrashData);
- 	// Output Hour
- 	XMLTag hourTag(HourXMLTag, sysTime.wHour, "%02d", m_openedXmlTags, m_UserCrashData);
- 	// Output Minute
- 	XMLTag minuteTag(MinuteXMLTag, sysTime.wMinute, "%02d", m_openedXmlTags, m_UserCrashData);
- 	// Output Second
- 	XMLTag secondTag(SecondXMLTag, sysTime.wSecond, "%02d", m_openedXmlTags, m_UserCrashData);
- }
- */
  
  void ExceptionHandler::LogOSInfo(void)
--- 608,611 ----
***************
*** 702,710 ****
  		XMLTag csdVersionTag(CSDVersionXMLTag, m_osVers.szCSDVersion, m_openedXmlTags, m_UserCrashData);
  	}
- 
- /*	LogSystemTime(m_sessionStart, SessionStartXMLTag);
- 	SYSTEMTIME sysTime;
- 	GetSystemTime(&sysTime);
- 	LogSystemTime(sysTime, SystemTimeXMLTag);*/
  }
  
--- 643,646 ----
***************
*** 1050,1054 ****
  
  			// Enumerate the locals/parameters
! 			m_maxTypeDumpDepth = 20;
  			pSymEnumSymbols(m_hProcess, 0, 0, EnumerateSymbolsCallback, &sf);
  		}
--- 986,990 ----
  
  			// Enumerate the locals/parameters
! 			m_maxTypeDumpDepth = 5;
  			pSymEnumSymbols(m_hProcess, 0, 0, EnumerateSymbolsCallback, &sf);
  		}
***************
*** 1386,1390 ****
  {
  	// Format appropriately (assuming it's a 1, 2, or 4 bytes (!!!)
! 	char valueString[256];
  	if (length == 1) {
  		sprintf(valueString, "%X", *(PBYTE)pAddress);
--- 1322,1326 ----
  {
  	// Format appropriately (assuming it's a 1, 2, or 4 bytes (!!!)
! 	char valueString[256] = "";
  	if (length == 1) {
  		sprintf(valueString, "%X", *(PBYTE)pAddress);
***************
*** 1395,1404 ****
  			sprintf(valueString, "%f", *(PFLOAT)pAddress);
  		} else if (basicType == btChar) {
! 			if (!IsBadStringPtr( *(PSTR*)pAddress, 32))
! 				sprintf(valueString, "%.31s", *(PDWORD)pAddress);
! 			else
! 				sprintf(valueString, "%X", *(PDWORD)pAddress);
  		} else {
! 			sprintf(valueString, "%X", *(PDWORD)pAddress);
  		}
  	} else if (length == 8) {
--- 1331,1337 ----
  			sprintf(valueString, "%f", *(PFLOAT)pAddress);
  		} else if (basicType == btChar) {
! 			sprintf(valueString, "%lX", *(PDWORD)pAddress);
  		} else {
! 			sprintf(valueString, "%lX", *(PDWORD)pAddress);
  		}
  	} else if (length == 8) {

Index: GMEApp.cpp
===================================================================
RCS file: /project/gme-repository/GMESRC/GME/Gme/GMEApp.cpp,v
retrieving revision 1.152
retrieving revision 1.153
diff -C2 -d -r1.152 -r1.153
*** GMEApp.cpp	10 Apr 2008 23:02:08 -0000	1.152
--- GMEApp.cpp	11 Apr 2008 23:45:24 -0000	1.153
***************
*** 30,33 ****
--- 30,34 ----
  #include "ExceptionHandler.h"
  #include "EmergencySaveDlg.h"
+ #include "CrashTest.h"
  
  #ifdef _DEBUG
***************
*** 457,463 ****
--- 458,466 ----
  int CGMEApp::Run()
  {
+ #if !defined(ADDCRASHTESTMENU)
  	if(bNoProtect) {
  		return CWinApp::Run();
  	} else {
+ #endif
  		__try {
  			return CWinApp::Run();
***************
*** 476,480 ****
--- 479,485 ----
  			// End by Peter
  		}
+ #if !defined(ADDCRASHTESTMENU)
  	}
+ #endif
  }
  



More information about the GME-commit mailing list