Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tcf-dev] Services and the memory map
  • From: "Gherzan, Mircea" <mircea.gherzan@xxxxxxxxx>
  • Date: Thu, 19 Nov 2020 00:07:52 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CQEuIWaZld4ja3NcT24jNMQ732vDrnlvJivbLoWj8t0=; b=WQ8dvZ/F5/0PvtvRQktd4pyeXnVu1Y8WQVd1T4OOPtgSAj1xLWzULUQ7LwxC7u4KrMLfN+bK2rn64JE19zgnp6jW8hnAqHbqK6MM0NPZVre8Wt14W0/xXsuinks4XpefZBaFfSd/68Y7TFT5PKgd45ZpD7m1Y80fSA/8il5yUzvZq8yCNGKMqegzktxpFj8e6Yjq6OqmRtt6orx5ru2nW5K4a1gjxgygd1BKaRD0Q2cjHhT+zh0BGxuGuanqi9M6Mq115hdwKqY2yfRK66CyAqiOS0jztdOyad0zfzkWvdeiJC59Z0CFhSX4eFnkA13KbQOymmJN6yTpnWkS7M+keQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ckBiYpifmDm7dRfQBiR0lXzSScEAXD+zz5uHTRbcVtX+8abGosL9RElToGOH0ZAyN4e8DWLDORCNTYk2BeRJQJOCmTBUHTysw5aHJwYBkutzDNrDlEw93sFFwXChCp1NI71yq5my6nWTfbLRV+S7T5KjpDCxDnkxTsnn2iKw5+HS6AwH3Vyqv2wVfqMus3I6DH0F2xM3r3wYqqIbzVqoCCHStfuXMYTWj2ReHVh3Z6b2k7l6A/gruRhIrXtuXlisIv9AHHZ0JirEi4G2kslPC9QrCtJBSagNTpmo/7Cbq677DCsBc9+ni7ngnlauDAvA/mHi59uoey3dE+6gwcMjzw==
  • Delivered-to: tcf-dev@xxxxxxxxxxx
  • Dlp-product: dlpe-windows
  • Dlp-reaction: no-action
  • Dlp-version: 11.5.1.3
  • Ironport-sdr: zHxoW4rg3DYA6gwydtWtFBZdL9nnDCJSCpf3zWBBniRZ7fVjG1sQTuRRCPhUFNddVBhTvEsI1w lFnQ+tZVGhTA==
  • Ironport-sdr: mfhtRFGgRmunI+6b9SVXej6rJySySU7vg6P9oVeZ4ysTC6ouxsI7SA2TYMn46q0hDO4ZduGSGr uOlQ4RZpp2OA==
  • List-archive: <https://www.eclipse.org/mailman/private/tcf-dev>
  • List-help: <mailto:tcf-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: Ada+BYBpY2t1oH5yQPykVZoQVlkVUw==
  • Thread-topic: Services and the memory map

Hi Eugene,

Please, can you shed some light about the _proper_ use of the MemoryMap API? Here's the scenario: an user clicks a button in the Eclipse GUI, which results in the invocation of a custom TCF service command, with the final end-user result that some modules get automagically loaded in the Modules view for the selected context. The service command in the agent uses the context_() API to find some (PE/COFF, ELF) modules on the desired context. The resulted modules mappings should be editable by the user in the Eclipse GUI. My question, please: what is the "proper" TCF way to achieve this? I see two options:

A. The command reply provides an array of MemoryRegion objects, then some custom Eclipse GUI logic send a MemoryMap.set with them included.   
	Pro: pretty clean, no breaking of semantics/stacking
	Con: round-trip to the GUI and back

B. The service logic in the agent gets some "side-band" write access to the data container that "feeds" the context_get_memory_map() of the desired context, so the modules land in the "target" map.
	Pro: smaller round-trip (an event would still be needed though to tell the GUI client to "pull" the new mappings)
	Cons: 
		1. module entries not editable by the end-user because they are part of the "target" map. 
		2. breaking the API/stacking, as there's direct access from a service to a context-specific implementation detail
	 
Are there any other ways?

Thanks in advance,
- Mircea



Back to the top