kerneltest/e32test/debug/d_debugapi.cpp
changeset 279 957c583b417b
parent 0 a41df078684a
equal deleted inserted replaced
275:2b433474f2ba 279:957c583b417b
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
   266 
   266 
   267 	TInt containerCount = Read(processCon, iOffsetTable->iObjectCon_Count);
   267 	TInt containerCount = Read(processCon, iOffsetTable->iObjectCon_Count);
   268 	TInt** containerObjects = (TInt**)Read(processCon, iOffsetTable->iObjectCon_Objects);
   268 	TInt** containerObjects = (TInt**)Read(processCon, iOffsetTable->iObjectCon_Objects);
   269 
   269 
   270 	Kern::Printf("THREAD TABLE:");
   270 	Kern::Printf("THREAD TABLE:");
   271 	Kern::Printf("Id Pri Typ SupStack+Size UsrStack+Size ContType SavedSP   ThreadName    Process");
   271 	Kern::Printf("Id Pri Typ SupStack+Size UsrStack+Size ContType SavedSP   ThreadName    Process   ThreadFlags");
   272 
   272 
   273 	for (TInt i = 0; i < containerCount; i++)
   273 	for (TInt i = 0; i < containerCount; i++)
   274 		{
   274 		{
   275 		TInt* thread =			containerObjects[i];
   275 		TInt* thread =			containerObjects[i];
   276 		TInt id =				Read(thread, iOffsetTable->iThread_Id);
   276 		TInt id =				Read(thread, iOffsetTable->iThread_Id);
   285 		TInt type =				Read8(thread, iOffsetTable->iThread_ThreadType);
   285 		TInt type =				Read8(thread, iOffsetTable->iThread_ThreadType);
   286 		TInt name =				Read(thread, iOffsetTable->iThread_Name);
   286 		TInt name =				Read(thread, iOffsetTable->iThread_Name);
   287 		TInt* owningProcess =	(TInt*)Read(thread, iOffsetTable->iThread_OwningProcess);
   287 		TInt* owningProcess =	(TInt*)Read(thread, iOffsetTable->iThread_OwningProcess);
   288 
   288 
   289 		TInt processName =		Read(owningProcess, iOffsetTable->iProcess_Name);
   289 		TInt processName =		Read(owningProcess, iOffsetTable->iProcess_Name);
   290 
   290 		
   291 		Kern::Printf("%02x %3x %3x %08x %04x %08x %04x %08x %08x %14s %s", 
   291 		TInt threadFlags = Read(thread, iOffsetTable->iThread_iFlags);
       
   292 
       
   293 		Kern::Printf("%02x %3x %3x %08x %04x %08x %04x %08x %08x %14s %s %08x", 
   292 				id,
   294 				id,
   293 				priority, 
   295 				priority, 
   294 				type,
   296 				type,
   295 				supStack,
   297 				supStack,
   296 				supStackSize,
   298 				supStackSize,
   297 				userStackRunAddr,
   299 				userStackRunAddr,
   298 				userStackSize,
   300 				userStackSize,
   299 				userContextType,
   301 				userContextType,
   300 				savedSP,
   302 				savedSP,
   301 				ExtractName(name, threadCharName),
   303 				ExtractName(name, threadCharName),
   302 				ExtractName(processName, processCharName)
   304 				ExtractName(processName, processCharName),
       
   305 				threadFlags
   303 				);
   306 				);
   304 		}
   307 		}
   305 
   308 
   306 	//Release container's mutex
   309 	//Release container's mutex
   307 	processCon->Signal();
   310 	processCon->Signal();