43 // Internal constants |
43 // Internal constants |
44 const TInt KMemSpyOpFlagsTypeMask = 0x0000FFFF; |
44 const TInt KMemSpyOpFlagsTypeMask = 0x0000FFFF; |
45 const TInt KMemSpyOpFlagsInclusionMask = 0xFFFF0000; |
45 const TInt KMemSpyOpFlagsInclusionMask = 0xFFFF0000; |
46 const TInt KMemSpyOpFlagsIncludesThreadId = 0x00010000; |
46 const TInt KMemSpyOpFlagsIncludesThreadId = 0x00010000; |
47 const TInt KMemSpyOpFlagsIncludesThreadName = 0x00020000; |
47 const TInt KMemSpyOpFlagsIncludesThreadName = 0x00020000; |
48 |
48 const TInt KMemSpyOpFlagsAsyncOperation = 0x00040000; |
49 // Literal constants |
49 // Literal constants |
50 _LIT( KMemSpyServerName, "MemSpyServer" ); |
50 _LIT( KMemSpyServerName, "MemSpyServer" ); |
|
51 _LIT( KMemSpyProcessName0, "MemSpyServer.exe" ); |
51 _LIT( KMemSpyProcessName1, "MemSpyUI.exe" ); |
52 _LIT( KMemSpyProcessName1, "MemSpyUI.exe" ); |
52 _LIT( KMemSpyProcessName2, "MemSpyConsole.exe" ); |
53 //_LIT( KMemSpyProcessName2, "MemSpyConsole.exe" ); |
53 |
54 |
54 // |
55 // |
55 // Supported MemSpy operation types |
56 // Supported MemSpy operation types |
56 // |
57 // |
57 // Operations which can only be applied to a specific thread are |
58 // Operations which can only be applied to a specific thread are |
256 * [INTERNAL REQUEST] |
257 * [INTERNAL REQUEST] |
257 */ |
258 */ |
258 EMemSpyClientServerOpSystemWideMemoryTrackingHeapDumpSet, |
259 EMemSpyClientServerOpSystemWideMemoryTrackingHeapDumpSet, |
259 |
260 |
260 /** |
261 /** |
261 * [INTERNAL REQUEST] |
262 * [INTERNAL REQUEST] |
262 */ |
263 */ |
|
264 EMemSpyClientServerOpMarkerUiFirst, |
|
265 |
|
266 EMemSpyClientServerOpGetProcessCount = EMemSpyClientServerOpMarkerUiFirst, |
|
267 |
|
268 EMemSpyClientServerOpGetProcesses, |
|
269 |
|
270 EMemSpyClienServerOpGetProcessIdByName, |
|
271 |
|
272 EMemSpyClientServerOpGetThreadCount, |
|
273 |
|
274 EMemSpyClientServerOpGetThreads, |
|
275 |
|
276 EMemSpyClientServerOpSetThreadPriority, |
|
277 |
|
278 EMemSpyClientServerOpProcessSystemPermanentOrCritical, |
|
279 |
|
280 EMemSpyClientServerOpEndProcess, |
|
281 |
|
282 EMemSpyClientServerOpSwitchToProcess, |
|
283 |
|
284 //Threads operations |
|
285 EMemSpyClientServerOpThreadSystemPermanentOrCritical, |
|
286 |
|
287 EMemSpyClientServerOpEndThread, |
|
288 |
|
289 EMemSpyClientServerOpSwitchToThread, |
|
290 |
|
291 EMemSpyClientServerOpGetInfoItemType, |
|
292 |
|
293 EMemSpyClientServerOpGetThreadInfoItemsCount, |
|
294 |
|
295 EMemSpyClientServerOpGetThreadInfoItems, |
|
296 |
|
297 EMemSpyClientServerOpOutputInfoHandles, |
|
298 |
|
299 EMemSpyClientServerOpOutputAOList, |
|
300 |
|
301 |
|
302 //Kernel Objects operations |
|
303 EMemSpyClientServerOpGetKernelObjectCount, |
|
304 |
|
305 EMemSpyClientServerOpGetKernelObjects, |
|
306 |
|
307 EMemSpyClientServerOpGetKernelObjectItemCount, |
|
308 |
|
309 EMemSpyClientServerOpGetKernelObjectItems, |
|
310 |
|
311 EMemSpyClientServerOpGetHeap, |
|
312 |
|
313 EMemSpyClientServerOpGetMemoryTrackingCycleCount, |
|
314 |
|
315 EMemSpyClientServerOpGetMemoryTrackingCycles, |
|
316 |
|
317 /** |
|
318 * [INTERNAL REQUEST] |
|
319 * Register for notifications of device wide operation progress. |
|
320 */ |
|
321 EMemSpyClientServerOpNotifyDeviceWideOperationProgress, |
|
322 |
|
323 /** |
|
324 * [INTERNAL REQUEST] |
|
325 * Cancel current device wide operation |
|
326 */ |
|
327 EMemSpyClientServerOpCancelDeviceWideOperation, |
|
328 |
|
329 EMemSpyClientServerOpOutputAllContainerContents, |
|
330 |
|
331 EMemSpyClientServerOpDumpKernelHeap, |
|
332 |
|
333 EMemSpyClientServerOpSetSwmtConfig, |
|
334 |
|
335 EMemSpyClientServerOpSetSwmtAutoStartProcessList, |
|
336 |
|
337 EMemSpyClientServerOpGetOutputSink, |
|
338 |
|
339 /** |
|
340 * [INTERNAL REQUEST] |
|
341 * Check if system wide memory tracking timer is running. |
|
342 */ |
|
343 EMemSpyClientServerOpIsSwmtRunning, |
|
344 |
|
345 EMemSpyClientServerOpMarkerUiLast, |
|
346 |
|
347 /** |
|
348 * [INTERNAL REQUEST] |
|
349 */ |
263 EMemSpyClientServerOpMarkerLast, |
350 EMemSpyClientServerOpMarkerLast, |
264 }; |
351 }; |
265 |
352 |
266 |
353 |
|
354 enum TMemSpyEndType |
|
355 { |
|
356 ETerminate, |
|
357 EKill, |
|
358 EPanic |
|
359 }; |
267 |
360 |
268 |
361 |
269 |
362 |
270 |
363 |
271 |
364 |