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 const TInt KMemSpyOpFlagsAsyncOperation = 0x00040000; |
48 |
49 // Literal constants |
49 // Literal constants |
50 _LIT( KMemSpyServerName, "MemSpyServer" ); |
50 _LIT( KMemSpyServerName, "MemSpyServer" ); |
51 _LIT( KMemSpyProcessName0, "MemSpyServer.exe" ); |
|
52 _LIT( KMemSpyProcessName1, "MemSpyUI.exe" ); |
51 _LIT( KMemSpyProcessName1, "MemSpyUI.exe" ); |
53 //_LIT( KMemSpyProcessName2, "MemSpyConsole.exe" ); |
52 _LIT( KMemSpyProcessName2, "MemSpyConsole.exe" ); |
54 |
53 |
55 // |
54 // |
56 // Supported MemSpy operation types |
55 // Supported MemSpy operation types |
57 // |
56 // |
58 // Operations which can only be applied to a specific thread are |
57 // Operations which can only be applied to a specific thread are |
255 |
254 |
256 /** |
255 /** |
257 * [INTERNAL REQUEST] |
256 * [INTERNAL REQUEST] |
258 */ |
257 */ |
259 EMemSpyClientServerOpSystemWideMemoryTrackingHeapDumpSet, |
258 EMemSpyClientServerOpSystemWideMemoryTrackingHeapDumpSet, |
260 |
|
261 /** |
|
262 * [INTERNAL REQUEST] |
|
263 */ |
|
264 EMemSpyClientServerOpSystemWideMemoryTrackingModeSet, |
|
265 |
259 |
266 /** |
260 /** |
267 * [INTERNAL REQUEST] |
261 * [INTERNAL REQUEST] |
268 */ |
262 */ |
269 EMemSpyClientServerOpMarkerUiFirst, |
|
270 |
|
271 EMemSpyClientServerOpGetProcessCount = EMemSpyClientServerOpMarkerUiFirst, |
|
272 |
|
273 EMemSpyClientServerOpGetProcesses, |
|
274 |
|
275 EMemSpyClienServerOpGetProcessIdByName, |
|
276 |
|
277 EMemSpyClientServerOpGetThreadCount, |
|
278 |
|
279 EMemSpyClientServerOpGetThreads, |
|
280 |
|
281 EMemSpyClientServerOpSetThreadPriority, |
|
282 |
|
283 EMemSpyClientServerOpProcessSystemPermanentOrCritical, |
|
284 |
|
285 EMemSpyClientServerOpEndProcess, |
|
286 |
|
287 EMemSpyClientServerOpSwitchToProcess, |
|
288 |
|
289 //Threads operations |
|
290 EMemSpyClientServerOpThreadSystemPermanentOrCritical, |
|
291 |
|
292 EMemSpyClientServerOpEndThread, |
|
293 |
|
294 EMemSpyClientServerOpSwitchToThread, |
|
295 |
|
296 EMemSpyClientServerOpGetInfoItemType, |
|
297 |
|
298 EMemSpyClientServerOpGetProcessIdByThreadId, |
|
299 |
|
300 EMemSpyClientServerOpGetThreadInfoItemsCount, |
|
301 |
|
302 EMemSpyClientServerOpGetThreadInfoItems, |
|
303 |
|
304 EMemSpyClientServerOpOutputInfoHandles, |
|
305 |
|
306 EMemSpyClientServerOpOutputAOList, |
|
307 |
|
308 |
|
309 //Kernel Objects operations |
|
310 EMemSpyClientServerOpGetKernelObjectCount, |
|
311 |
|
312 EMemSpyClientServerOpGetKernelObjects, |
|
313 |
|
314 EMemSpyClientServerOpGetKernelObjectItemCount, |
|
315 |
|
316 EMemSpyClientServerOpGetKernelObjectItems, |
|
317 |
|
318 EMemSpyClientServerOpGetHeap, |
|
319 |
|
320 EMemSpyClientServerOpGetMemoryTrackingCycleCount, |
|
321 |
|
322 EMemSpyClientServerOpGetMemoryTrackingCycles, |
|
323 |
|
324 EMemSpyClientServerOpGetMemoryTrackingMdcaCount, |
|
325 /** |
|
326 * [INTERNAL REQUEST] |
|
327 * Register for notifications of device wide operation progress. |
|
328 */ |
|
329 EMemSpyClientServerOpNotifyDeviceWideOperationProgress, |
|
330 |
|
331 /** |
|
332 * [INTERNAL REQUEST] |
|
333 * Cancel current device wide operation |
|
334 */ |
|
335 EMemSpyClientServerOpCancelDeviceWideOperation, |
|
336 |
|
337 EMemSpyClientServerOpOutputAllContainerContents, |
|
338 |
|
339 EMemSpyClientServerOpDumpKernelHeap, |
|
340 |
|
341 EMemSpyClientServerOpSetSwmtAutoStartProcessList, |
|
342 |
|
343 EMemSpyClientServerOpGetOutputSink, |
|
344 |
|
345 /** |
|
346 * [INTERNAL REQUEST] |
|
347 * Check if system wide memory tracking timer is running. |
|
348 */ |
|
349 EMemSpyClientServerOpIsSwmtRunning, |
|
350 |
|
351 EMemSpyClientServerOpSystemWideMemoryTrackingTimerPeriodGet, |
|
352 |
|
353 EMemSpyClientServerOpSystemWideMemoryTrackingThreadNameFilterGet, |
|
354 |
|
355 EMemSpyClientServerOpSystemWideMemoryTrackingCategoriesGet, |
|
356 |
|
357 EMemSpyClientServerOpSystemWideMemoryTrackingHeapDumpGet, |
|
358 |
|
359 EMemSpyClientServerOpSystemWideMemoryTrackingModeGet, |
|
360 |
|
361 //Servers methods |
|
362 EMemSpyClientServerOpGetServerCount, |
|
363 |
|
364 EMemSpyClientServerOpGetServers, |
|
365 |
|
366 EMemSpyClientServerOpGetSortedServers, |
|
367 |
|
368 EMemSpyClientServerOpServerListOutputGeneric, |
|
369 |
|
370 EMemSpyClientServerOpGetEComCategoryCount, |
|
371 |
|
372 EMemSpyClientServerOpGetEComCategories, |
|
373 |
|
374 EMemSpyClientServerOpGetEComInterfaceCount, |
|
375 |
|
376 EMemSpyClientServerOpGetEComInterfaces, |
|
377 |
|
378 EMemSpyClientServerOpGetEComImplementationCount, |
|
379 |
|
380 EMemSpyClientServerOpGetEComImplementations, |
|
381 |
|
382 EMemSpyClientServerOpMarkerUiLast, |
|
383 |
|
384 /** |
|
385 * [INTERNAL REQUEST] |
|
386 */ |
|
387 EMemSpyClientServerOpMarkerLast, |
263 EMemSpyClientServerOpMarkerLast, |
388 }; |
264 }; |
389 |
265 |
390 |
266 |
391 enum TMemSpyEndType |
|
392 { |
|
393 ETerminate, |
|
394 EKill, |
|
395 EPanic |
|
396 }; |
|
397 |
267 |
398 |
268 |
399 |
269 |
400 |
270 |
401 |
271 |