02.08.2021 05:09:29 Ni, Ray <ray...@intel.com>:

> Marvin,
> Host assumes first 8-byte (little endian) of memory pointed by DR2 is the 
> value of Image base address.

Thanks Ray! So I can be confident no further data from the context are or will 
be queried and I can just publish the Image base from the stack for example?

Maybe another thing, is the Image base address used for anything but loading 
the symbols (analogous to GCC "add-symbol-file")? E.g. does it ever try to read 
and parse the Image header? Mostly I am interested in how changes to the TE 
format would affect the tool.

Best regards,
Marvin

> DR1 points to the PDB path (I am sure you noticed that in the 
> SourceLevelDebugPkg code).
>
> There is no plan to provide detailed documentation of host/client 
> communication protocol. So far, the brief explanation can be seen in 
> SourceLevelDebugPkg\Include\TransferProtocol.h.
>
> I admit that if the old me had the mindset of today's me, a detailed markdown 
> doc should have been provided in SourceLevelDebugPkg.
> I will check internally on the open source plan, but please don't heavily 
> rely on that.

Thanks!

>
> Thanks,
> Ray
>
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Marvin H?user
> Sent: Sunday, August 1, 2021 1:21 AM
> To: devel@edk2.groups.io
> Cc: Wu, Hao A <hao.a...@intel.com>
> Subject: [edk2-devel] SLDP: Usage of PE library context by debugger?
>
> Good day everyone,
>
> While refining the port of SourceLevelDebugPkg to my newly proposed PeCoffLib 
> rework (RFC upcoming), I noticed that the address of the PE Image context is 
> written to DR2 [1]. Because the UDK and Intel System Studio debugging tools 
> are closed source, I cannot verify what happens to this value. Does the host 
> read the library context and retrieve data from it? If not, why is its 
> address written to DR2? If so, this would mean the new PeCoffLib 
> implementation breaks the existing debugging tools. The following questions 
> would arise:
>
> 1) Which data are retrieved from the context structure? For GDB, I think only 
> the Image address and symbol file path are required (to load the symbols), 
> while PDB is saved in DR1 already.
> 2) Are there any plans to provide detailed documentation of the host/client 
> communication protocol?
> 3) Are there any plans to provide an open source debugger, or at least the 
> EDK II communication protocol portion?
>
> Thank you for your time!
>
> Best regards,
> Marvin
>
>
> [1]
> https://github.com/tianocore/edk2/blob/610bcc69ed3d1e8c016332a1862465d41d95dd6c/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLib.c#L126
>
>
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#78492): https://edk2.groups.io/g/devel/message/78492
Mute This Topic: https://groups.io/mt/84574370/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to