analyzetool/commandlineengine/src/CATDatParser.cpp
branchRCL_3
changeset 49 7fdc9a71d314
parent 19 da2cedce4920
child 59 8ad140f3dd41
equal deleted inserted replaced
46:e26895079d7c 49:7fdc9a71d314
   362 	m_sCurrentProcessName = GetStringUntilNextSpace( sLine );
   362 	m_sCurrentProcessName = GetStringUntilNextSpace( sLine );
   363 	// Get Pid
   363 	// Get Pid
   364 	string sPid = GetStringUntilNextSpace( sLine );
   364 	string sPid = GetStringUntilNextSpace( sLine );
   365 	m_iCurrentProcessId = _httoi( sPid.c_str() );
   365 	m_iCurrentProcessId = _httoi( sPid.c_str() );
   366 
   366 
   367 	// Header for process tart
   367 	// Header for process start
   368 	m_DataSaver.AddString( "\n--------------------------------\n" );
   368 	m_DataSaver.AddString( "\n--------------------------------\n" );
   369 	m_DataSaver.AddString( "Test Run start (" );
   369 	m_DataSaver.AddString( "Test Run start (" );
   370 	m_DataSaver.AddString( m_sCurrentProcessName.c_str() );
   370 	m_DataSaver.AddString( m_sCurrentProcessName.c_str() );
   371 	m_DataSaver.AddString( "): " );
   371 	m_DataSaver.AddString( "): " );
   372 
   372 
   513 			int iTotalNrOfLeaks = 0;
   513 			int iTotalNrOfLeaks = 0;
   514 			// Print handle leaks
   514 			// Print handle leaks
   515 			for( size_t i = 0 ; i < m_vHandleLeaks.size() ; i++ )
   515 			for( size_t i = 0 ; i < m_vHandleLeaks.size() ; i++ )
   516 			{
   516 			{
   517 				string sTempHandleLeak( m_vHandleLeaks[i] );
   517 				string sTempHandleLeak( m_vHandleLeaks[i] );
   518 				// Name.
       
   519 				string sHandleLeakModule( GetStringUntilNextSpace( sTempHandleLeak ) );
       
   520 				// Count.
   518 				// Count.
   521 				string sNrOfLeaks( GetStringUntilNextSpace(sTempHandleLeak) );
   519 				string sNrOfLeaks( GetStringUntilNextSpace(sTempHandleLeak) );
       
   520 
       
   521 				// Name.
       
   522 				//string sHandleLeakModule( GetStringUntilNextSpace( sTempHandleLeak ) );
       
   523 				string sHandleLeakModule( "Unknown" );
       
   524 
   522 				unsigned long iNrOfLeaks = _httoi( sNrOfLeaks.c_str() );
   525 				unsigned long iNrOfLeaks = _httoi( sNrOfLeaks.c_str() );
   523 				iTotalNrOfLeaks += iNrOfLeaks;
   526 				iTotalNrOfLeaks += iNrOfLeaks;
   524 				if( iNrOfLeaks )
   527 				if( iNrOfLeaks )
   525 				{
   528 				{
   526 					if( !bHandLeaksFound )
   529 					if( !bHandLeaksFound )
   596 
   599 
   597 	// Create module from this if project platform emulator
   600 	// Create module from this if project platform emulator
   598 	if ( _stricmp( "winscw", m_sProjectPlatform.c_str() ) == 0 )
   601 	if ( _stricmp( "winscw", m_sProjectPlatform.c_str() ) == 0 )
   599 		CreateWinscwModule( structDllInfo.sModuleName );
   602 		CreateWinscwModule( structDllInfo.sModuleName );
   600 
   603 
       
   604 	// Get dll start memory string address from line
       
   605 	// Convert string address to real memory address
       
   606 	structDllInfo.iStartAddress = 
       
   607 		_httoi( GetStringUntilNextSpace( sLine ).c_str() );
       
   608 
       
   609 	// Get dll end memory string address from line
       
   610 	// Convert string address to real memory address
       
   611 	structDllInfo.iEndAddress = 
       
   612 		_httoi( 
       
   613 		GetStringUntilNextSpace( sLine ).c_str() );
       
   614 
   601 	if ( m_iDataVersion >= AT_DLL_TIMESTAMP_DATA_VERSION )
   615 	if ( m_iDataVersion >= AT_DLL_TIMESTAMP_DATA_VERSION )
   602 	{
   616 	{
   603 		// Pickup module loading time.
   617 		// Pickup module loading time.
   604 		string sLoadTime = GetStringUntilNextSpace( sLine );
   618 		string sLoadTime = GetStringUntilNextSpace( sLine );
   605 		unsigned long long ull;
   619 		unsigned long long ull;
   606 		if ( hexToDec( sLoadTime, ull ) )
   620 		if ( hexToDec( sLoadTime, ull ) )
   607 			structDllInfo.iLoadTime = ull;
   621 			structDllInfo.iLoadTime = ull;
   608 	}
   622 	}
   609 
   623 
   610 	// Get dll start memory string address from line
       
   611 	// Convert string address to real memory address
       
   612 	structDllInfo.iStartAddress = 
       
   613 		_httoi( GetStringUntilNextSpace( sLine ).c_str() );
       
   614 
       
   615 	// Get dll end memory string address from line
       
   616 	// Convert string address to real memory address
       
   617 	structDllInfo.iEndAddress = 
       
   618 		_httoi( 
       
   619 		GetStringUntilNextSpace( sLine ).c_str() );
       
   620 
       
   621 	// Is module already loaded, if not add it to list.
   624 	// Is module already loaded, if not add it to list.
   622 	bool bFound = false;
   625 	bool bFound = false;
   623 	for( vector<DLL_LOAD_INFO>::iterator it = m_vDllLoadModList.begin();
   626 	for( vector<DLL_LOAD_INFO>::iterator it = m_vDllLoadModList.begin();
   624 		it != m_vDllLoadModList.end() ; it++ )
   627 		it != m_vDllLoadModList.end() ; it++ )
   625 	{
   628 	{
   666 	GetStringUntilNextSpace( sLine );
   669 	GetStringUntilNextSpace( sLine );
   667 
   670 
   668 	// Get module name
   671 	// Get module name
   669 	string sModuleName = GetStringUntilNextSpace( sLine );
   672 	string sModuleName = GetStringUntilNextSpace( sLine );
   670 	ChangeToLower( sModuleName );
   673 	ChangeToLower( sModuleName );
       
   674 
       
   675 	// skip adresses - not currently used
       
   676 	GetStringUntilNextSpace( sLine );
       
   677 	GetStringUntilNextSpace( sLine );
   671 
   678 
   672 	// Unload time
   679 	// Unload time
   673 	unsigned long long ull;
   680 	unsigned long long ull;
   674 	string sUnload = GetStringUntilNextSpace( sLine );
   681 	string sUnload = GetStringUntilNextSpace( sLine );
   675 	if ( ! hexToDec( sUnload, ull ) )
   682 	if ( ! hexToDec( sUnload, ull ) )