winIDEA SDK
|
IConnectProfiler2 extends the IConnectProfiler with functions which obtain the list of result areas.
#include <i_Connect.h>
Classes | |
struct | SResultArea |
Contains information about profiler area. More... | |
struct | SResultInfo |
Contains information about profiler result. More... | |
Public Types | |
enum | EActivateFlags { aStart = 0x00000001 , aStop = 0x00000002 , aStartStopMask = 0x00000003 } |
Flags for profiler activation/deactivation. More... | |
enum | EAreaFlags { afValueTypeMask = 0x0000000F , afTypeFunction = 0x00000010 , afTypeRoutine = 0x00000020 , afTypeVariable = 0x00000030 , afTypeRegion = 0x00000040 , afTypeSingleData = 0x00000050 , afTypeSingleData1 = 0x00000060 , afAreaMask = 0x000000F0 , afFunctionIncludeLines = 0x00000100 , afDataTaskID = 0x00000100 , afDataSingleData = 0x00000200 } |
Area Flags. More... | |
enum | EConfigFlags { cfTimeStampCycles = isys::IConnectProfiler::EConfigFlags::cfTimeStampCycles , cfTimeStampTime = isys::IConnectProfiler::EConfigFlags::cfTimeStampTime , cfTimeStampM0 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM0 , cfTimeStampM1 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM1 , cfTimeStampM2 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM2 , cfTimeStampM3 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM3 , cfTimeStampM4 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM4 , cfTimeStampM5 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM5 , cfTimeStampM6 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM6 , cfTimeStampM7 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM7 , cfTimeStampM8 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM8 , cfTimeStampM9 = isys::IConnectProfiler::EConfigFlags::cfTimeStampM9 , cfTimeStampMask = isys::IConnectProfiler::EConfigFlags::cfTimeStampMask } |
enum | EGetResultAreaFlags { grafByHandle = 0x00000000 , grafByName = 0x00000001 , grafByAddress = 0x00000002 , grafByMask = 0x0000000F , grafTypeExec = 0x00000000 , grafTypeData = 0x00000010 , grafTypeMask = 0x00000030 } |
Result area return configuration flags. More... | |
enum | EGetStatusFlags { gsfNumRecorded = isys::IConnectProfiler::EGetStatusFlags::gsfNumRecorded , gsfNumAnalyzed = isys::IConnectProfiler::EGetStatusFlags::gsfNumAnalyzed , gsfNumMask = isys::IConnectProfiler::EGetStatusFlags::gsfNumMask } |
enum | EResultFlags { rfByHandle = 0x00000001 , rfAllAreas = 0x00000002 , rfFilterTask = 0x00000010 , rfFilterValue = 0x00000020 , rfType0 = 0x00000000 , rfType_Mask = 0xF0000000 } |
Result flags. More... | |
Public Member Functions | |
virtual HRESULT | Activate (DWORD dwActivateFlags) PURE |
Activates or deactivates the profiler. More... | |
virtual HRESULT | AddArea (DWORD dwAreaFlags, DWORD *pdwHandle, LPCSTR pszName, BYTE byMemArea=0, ADDRESS aAddress=0, ADDRESS aSize=0, DWORD dwNumExits=0, ADDRESS *paExits=NULL) PURE |
Adds an area to the current profiler configuration. More... | |
virtual HRESULT | GetHistory (DWORD dwResultFlags, DWORD dwHandle, DWORD dwTask, DWORD dwValue, DWORD dwHistoryBase, DWORD *pdwNumHistories, struct SProfilerHistory *pHistories) PURE |
Retrieves history of invocations for specified area(s). More... | |
virtual HRESULT | StartConfig (DWORD dwStartConfigFlags, const struct SProfilerStartingPoint *pStartingPoint) PURE |
Begins configuration for a new session of the profiler. More... | |
|
inherited |
|
inherited |
Area Flags.
|
inherited |
Result area return configuration flags.
|
inherited |
Enumerator | |
---|---|
gsfNumRecorded | See isys::IConnectProfiler::EGetStatusFlags. |
gsfNumAnalyzed | See isys::IConnectProfiler::EGetStatusFlags. |
gsfNumMask | See isys::IConnectProfiler::EGetStatusFlags. |
|
inherited |
Result flags.
|
virtualinherited |
Activates or deactivates the profiler.
When activating the profiler, the configured areas are evaluated at this time. Activation can fail if an area symbol does not evaluate or number of resulting monitoring points exceeds hardware capabilities.
dwActivateFlags | see IConnectProfiler::EActivateFlags |
|
virtualinherited |
Adds an area to the current profiler configuration.
When adding function, and it does not exist, error is NOT reported by this function, but when IConnectProfiler::Activate() is called.
dwAreaFlags | see IConnectProfiler::EAreaFlags |
pdwHandle | Specifies the location of a DWORD type variable that will accept the handle of the new area. This handle is subsequently used in calls to GetStatistics and GetHistory. |
pszName | Specifies the name of the area. For afTypeFunction and afTypeVariable, this name is used to obtain the address. For afTypeRoutine and afTypeRegion the name will be displayed in the profiler window. |
byMemArea | Specifies mem area for afTypeRoutine or starting address for afTypeRegion. |
aAddress | Specifies the entry point for afTypeRoutine or starting address for afTypeRegion. for encoded afTypeSingleData it's the ID |
aSize | Specifies the MAU size for afTypeRegion. |
dwNumExits | Specifies the number of exits for afTypeRoutine. |
paExits | Points to an array of ADDRESS type objects, each specifying an exit point from afTypeRoutine object. The array must contain dwNumExits elements. |
|
virtualinherited |
Retrieves history of invocations for specified area(s).
dwResultFlags | See IConnectProfiler::EResultFlags |
dwHandle | Handle of the area for which the statistics should be retrieved; used with rfByHandle. |
dwTask | Task ID for which the statistics should be retrieved; used with rfFilterTask. |
dwValue | Data value for which the statistics should be retrieved. Used with rfFilterValue. |
dwHistoryBase | Specifies the zero based offset of the history. Use this in consecutive calls to GetHistory: SProfilerHistory aHistories[0x100]; for (DWORD dwHistoryBase = 0; ; ) { DWORD dwNumHistories = 0x100; pIConnectProfiler->GetHistory(IConnectProfiler::rfAllAreas, 0, 0, 0, dwHistoryBase, &dwNumHistories, aHistories); if (0 == dwNumHistories) break; ProcessHistories(dwNumHistories, aHistories); dwHistoryBase += dwNumHistories; } |
pdwNumHistories | On input, specifies the size of array pHistories points to (i.e. the maximum number of histories to retrieve). On output, specifies the number of histories placed into pHistories. |
pHistories | Specifies the location of array of SProfilerHistory objects that will receive the history results. |
|
virtualinherited |
Begins configuration for a new session of the profiler.
Once a profiler is configured, it can be activated any number of times.
dwStartConfigFlags | See IConnectProfiler::EConfigFlags, which define wanted resolution. The actual resolution selected depends on hardware. |
pStartingPoint | Specifies the condition that triggers the profiler after it has been activated. |