diff -r bf9a2104bee6 -r 5d016a880824 debuggercdi/com.nokia.carbide.cpp.debug.crashdebugger/html/DebuggingInformation/CrashDebuggerInfoAboutKernel.guide03.html --- a/debuggercdi/com.nokia.carbide.cpp.debug.crashdebugger/html/DebuggingInformation/CrashDebuggerInfoAboutKernel.guide03.html Thu Feb 18 14:39:30 2010 -0600 +++ b/debuggercdi/com.nokia.carbide.cpp.debug.crashdebugger/html/DebuggingInformation/CrashDebuggerInfoAboutKernel.guide03.html Thu Feb 18 15:11:20 2010 -0600 @@ -1,313 +1,313 @@ - -
-The current thread is the thread that was executing when the fault -occurred. The 23 lines starting at line 10 of the output gives information -relating to the current thread:
-TheCurrentThread=64039408
- THREAD at 64039408 VPTR=f803423c AccessCount=3 Owner=64038d5c
Full name test2.exe::Main
Thread MState READY
Default priority 16 WaitLink Priority 16
ExitInfo 2,100,USER
Flags 00000004, Handles 640330bc
Supervisor stack base 6571f000 size 1000
User stack base 00402000 size 2000
Id=26, Alctr=00600000, Created alctr=00600000, Frame=00000000
Trap handler=00000000, ActiveScheduler=00000000, Exception handler=00000000
TempObj=00000000 TempAlloc=00000000 IpcCount=00000000
NThread @ 640396b0 Pri 16 NState READY
Next=640396b0 Prev=640396b0 Att=03 iUserContextType=0b
HeldFM=00000000 WaitFM=00000000 AddrSp=64038d5c
Time=17 Timeslice=20 ReqCount=0
SuspendCount=0 CsCount=1 CsFunction=fffffffe
SavedSP=6571ff34 ExtraContext=00000000 ExtraContextSize=0000
DACR 63990000
R13_USR 6571ff88 R14_USR f8025bc0 SPSR_SVC 10000004
-R4 f8033794 R5 64039408 R6 640396b0 R7 f8028518
-R8 640396b0 R9 640396b0 R10 00000000 R11 f80284d8
-PC 00000000
Trap handler, active scheduler and user-side exception handler
-THREAD at 64039408 VPTR=f803423c AccessCount=3 Owner=64038d5c
-The THread at field contains a pointer to the -DThread object representing the thread.
-The AccessCount field contains the reference count -on the thread object.
-The owner field contains a pointer to the object -that owns this DThread object.
- -Full name test2.exe::Main
-The thread name is the part after the colons. The part before the -colons is the process name. This means that the thread is called -Main inside the process test2.exe.
- -Thread MState READY
Default priority 16 WaitLink Priority 16
ExitInfo 2,100,USER
The information that characterises the thread exit is described -by ExitInfo; this is shown as exit type, exit reason and exit -category. In this example:
-the thread has panicked, as indicated by: exit type -2; See also TExitType.
-the panic category was: USER
-the panic number was:100
-the thread was running or it was in a ready-to-run state: -MState READY
-The priority shown is for the underlying thread, see also -Process and thread priorities.
- -Flags 00000004, Handles 640330bc
-The Flags field contains information about the state -of the thread. The possible values in this field are defined by the -KThread... constants in u32std.h. While the symbols -are internal to Symbian OS, the following table summarises the values and their -meaning.
-
|
Flags 00000004, Handles 640330bc
-The Handles field contains the address of a -DObjectIx object that contains the handles owned by the -thread.
- -Supervisor stack base 6571f000 size 1000
User stack base 00402000 size 2000
These fields give the base address and size, in bytes, of the -kernel and user stacks respectively.
- -Id=26, Alctr=00600000, Created alctr=00600000, Frame=00000000
-The Id field contains the thread id.
-The Alctr field contains a pointer to the current RAllocator instance used for heap allocation.
-The Created alctr field contains a pointer to the -original RAllocator instance used for heap allocation. -This may be different from the current instance if User::SwitchAllocator() has been called.
-The Frame field contains a pointer to the current -trap frame, an instance of the TTrap class, on the cleanup -stack.
- -Trap handler=00000000, ActiveScheduler=00000000, Exception handler=00000000
-The Trap handler field contains a pointer to the -current trap handler, an instance of TTrapHandler, for the -cleanup stack.
-The ActiveScheduler field contains a pointer to the -current active scheduler.
-The Exception handler field contains a pointer to -the current user-side exception handler.
- -TempObj=00000000 TempAlloc=00000000 IpcCount=00000000
-The Tempobj field contains a pointer to an instance -of a DObject derived class that must be closed when the -thread terminates.
-The TempAlloc field contains a pointer to a kernel -heap cell that must be freed when the thread terminates. Both this and -Tempobj are used to avoid leaks if the thread terminates -unexpectedly.
-The IpcCount field contains the number of messages -currently queued to this thread.
- -NThread @ 640396b0 Pri 16 NState READY
Next=640396b0 Prev=640396b0 Att=03 iUserContextType=0b
The NThread field contains a pointer to the -underlying nanokernel thread object, an instance of the -NThread class.
-The Pri field contains the current priority of the -underlying nanokernel thread.
-The NState field shows the current state of the -underlying nanokernel thread. Note that this state is often referred to as the -N-state, as compared to the to M-state, the state of a Symbian OS thread. See -the Thread state summary.
-The Next field points to the next nanokernel thread -object.
-The Prev field points to the previous nanokernel -thread object.
-The Att field contains the nanokernel thread -attributes, which is an 8-bit mask that controls how the thread is scheduled in -certain cases. Two attributes are defined:
|
HeldFM=00000000 WaitFM=00000000 AddrSp=64038d5c
-The HeldFM field contains a pointer to the fast -mutex held by this thread; this is NULL if no fast mutext was held.
-The WaitFM field contains a pointer to the fast -mutex that this thread was waiting on; this is NULL if this thread was not -waiting on a fast mutex.
-The AddrSp field is the address space identifier -used by the scheduler to determine whether an address space change is required -when scheduling in a new thread.
- -Time=17 Timeslice=20 ReqCount=0
-The Time field contains the number of nanokernel -ticks, usually in milliseconds, to go before the thread is preempted.
-The Timeslice field contains the maximum number of -ticks for which the thread can run before being preempted.
-The ReqCount contains the request semaphore counter. -If the value is negative, then the thread is blocked waiting for a request to -complete; if it is positive, then one or more requests have completed.
- -SuspendCount=0 CsCount=1 CsFunction=fffffffe
SavedSP=6571ff34 ExtraContext=00000000 ExtraContextSize=0000
DACR 63990000
R13_USR 6571ff88 R14_USR f8025bc0 SPSR_SVC 10000004
R4 f8033794 R5 64039408 R6 640396b0 R7 f8028518
R8 640396b0 R9 640396b0 R10 00000000 R11 f80284d8
PC 00000000
The SuspendCount field contains the number of times -that the thread has been suspended.
-The CsCount field critical section counter. When -this value is greater than zero, then the thread is in a critical section and -cannot be suspended or killed.
-The remaining content is a list of register values. Note -that they are not the register values when the thread panicked. They are -the values in the registers the last time that this thread was -pre-empted.
-The current thread is the thread that was executing when the fault +occurred. The 23 lines starting at line 10 of the output gives information +relating to the current thread:
+TheCurrentThread=64039408
+ THREAD at 64039408 VPTR=f803423c AccessCount=3 Owner=64038d5c
Full name test2.exe::Main
Thread MState READY
Default priority 16 WaitLink Priority 16
ExitInfo 2,100,USER
Flags 00000004, Handles 640330bc
Supervisor stack base 6571f000 size 1000
User stack base 00402000 size 2000
Id=26, Alctr=00600000, Created alctr=00600000, Frame=00000000
Trap handler=00000000, ActiveScheduler=00000000, Exception handler=00000000
TempObj=00000000 TempAlloc=00000000 IpcCount=00000000
NThread @ 640396b0 Pri 16 NState READY
Next=640396b0 Prev=640396b0 Att=03 iUserContextType=0b
HeldFM=00000000 WaitFM=00000000 AddrSp=64038d5c
Time=17 Timeslice=20 ReqCount=0
SuspendCount=0 CsCount=1 CsFunction=fffffffe
SavedSP=6571ff34 ExtraContext=00000000 ExtraContextSize=0000
DACR 63990000
R13_USR 6571ff88 R14_USR f8025bc0 SPSR_SVC 10000004
+R4 f8033794 R5 64039408 R6 640396b0 R7 f8028518
+R8 640396b0 R9 640396b0 R10 00000000 R11 f80284d8
+PC 00000000
Trap handler, active scheduler and user-side exception handler
+THREAD at 64039408 VPTR=f803423c AccessCount=3 Owner=64038d5c
+The THread at field contains a pointer to the +DThread object representing the thread.
+The AccessCount field contains the reference count +on the thread object.
+The owner field contains a pointer to the object +that owns this DThread object.
+ +Full name test2.exe::Main
+The thread name is the part after the colons. The part before the +colons is the process name. This means that the thread is called +Main inside the process test2.exe.
+ +Thread MState READY
Default priority 16 WaitLink Priority 16
ExitInfo 2,100,USER
The information that characterises the thread exit is described +by ExitInfo; this is shown as exit type, exit reason and exit +category. In this example:
+the thread has panicked, as indicated by: exit type +2; See also TExitType.
+the panic category was: USER
+the panic number was:100
+the thread was running or it was in a ready-to-run state: +MState READY
+The priority shown is for the underlying thread, see also +Process and thread priorities.
+ +Flags 00000004, Handles 640330bc
+The Flags field contains information about the state +of the thread. The possible values in this field are defined by the +KThread... constants in u32std.h. While the symbols +are internal to Symbian OS, the following table summarises the values and their +meaning.
+
|
Flags 00000004, Handles 640330bc
+The Handles field contains the address of a +DObjectIx object that contains the handles owned by the +thread.
+ +Supervisor stack base 6571f000 size 1000
User stack base 00402000 size 2000
These fields give the base address and size, in bytes, of the +kernel and user stacks respectively.
+ +Id=26, Alctr=00600000, Created alctr=00600000, Frame=00000000
+The Id field contains the thread id.
+The Alctr field contains a pointer to the current RAllocator instance used for heap allocation.
+The Created alctr field contains a pointer to the +original RAllocator instance used for heap allocation. +This may be different from the current instance if User::SwitchAllocator() has been called.
+The Frame field contains a pointer to the current +trap frame, an instance of the TTrap class, on the cleanup +stack.
+ +Trap handler=00000000, ActiveScheduler=00000000, Exception handler=00000000
+The Trap handler field contains a pointer to the +current trap handler, an instance of TTrapHandler, for the +cleanup stack.
+The ActiveScheduler field contains a pointer to the +current active scheduler.
+The Exception handler field contains a pointer to +the current user-side exception handler.
+ +TempObj=00000000 TempAlloc=00000000 IpcCount=00000000
+The Tempobj field contains a pointer to an instance +of a DObject derived class that must be closed when the +thread terminates.
+The TempAlloc field contains a pointer to a kernel +heap cell that must be freed when the thread terminates. Both this and +Tempobj are used to avoid leaks if the thread terminates +unexpectedly.
+The IpcCount field contains the number of messages +currently queued to this thread.
+ +NThread @ 640396b0 Pri 16 NState READY
Next=640396b0 Prev=640396b0 Att=03 iUserContextType=0b
The NThread field contains a pointer to the +underlying nanokernel thread object, an instance of the +NThread class.
+The Pri field contains the current priority of the +underlying nanokernel thread.
+The NState field shows the current state of the +underlying nanokernel thread. Note that this state is often referred to as the +N-state, as compared to the to M-state, the state of a Symbian OS thread. See +the Thread state summary.
+The Next field points to the next nanokernel thread +object.
+The Prev field points to the previous nanokernel +thread object.
+The Att field contains the nanokernel thread +attributes, which is an 8-bit mask that controls how the thread is scheduled in +certain cases. Two attributes are defined:
|
HeldFM=00000000 WaitFM=00000000 AddrSp=64038d5c
+The HeldFM field contains a pointer to the fast +mutex held by this thread; this is NULL if no fast mutext was held.
+The WaitFM field contains a pointer to the fast +mutex that this thread was waiting on; this is NULL if this thread was not +waiting on a fast mutex.
+The AddrSp field is the address space identifier +used by the scheduler to determine whether an address space change is required +when scheduling in a new thread.
+ +Time=17 Timeslice=20 ReqCount=0
+The Time field contains the number of nanokernel +ticks, usually in milliseconds, to go before the thread is preempted.
+The Timeslice field contains the maximum number of +ticks for which the thread can run before being preempted.
+The ReqCount contains the request semaphore counter. +If the value is negative, then the thread is blocked waiting for a request to +complete; if it is positive, then one or more requests have completed.
+ +SuspendCount=0 CsCount=1 CsFunction=fffffffe
SavedSP=6571ff34 ExtraContext=00000000 ExtraContextSize=0000
DACR 63990000
R13_USR 6571ff88 R14_USR f8025bc0 SPSR_SVC 10000004
R4 f8033794 R5 64039408 R6 640396b0 R7 f8028518
R8 640396b0 R9 640396b0 R10 00000000 R11 f80284d8
PC 00000000
The SuspendCount field contains the number of times +that the thread has been suspended.
+The CsCount field critical section counter. When +this value is greater than zero, then the thread is in a critical section and +cannot be suspended or killed.
+The remaining content is a list of register values. Note +that they are not the register values when the thread panicked. They are +the values in the registers the last time that this thread was +pre-empted.
+