public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Jeff Fan" <fanjianfeng@byosoft.com.cn>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	 mhaeuser <mhaeuser@posteo.de>
Cc: "Hao A Wu" <hao.a.wu@intel.com>
Subject: Re: [edk2-devel] SLDP: Usage of PE library context by debugger?
Date: Mon, 2 Aug 2021 12:51:29 +0800	[thread overview]
Message-ID: <2021080211280782338912@byosoft.com.cn> (raw)
In-Reply-To: 20b13677-098e-6105-bbd6-c708321f839a@posteo.de

[-- Attachment #1: Type: text/plain, Size: 2015 bytes --]

Marvin,

ImageBase was saved in DR2 to help HOST debugger to locate the image base more easily, even though the HOST debugger could find the image base through searching the DOS image signagure.

The reason choosing DR1 and DR2 to save PDB & ImageBase contexts is just implementation only. And it could co-work with Debug Agent Lib implementation and SIMCS.  I am not sure whether is could co-work with INTEl System Debugging tools or not.

I don't understand why the new PeCoffLib implementation would break the existing debugging tools?Could you explain it more details?



Jeff
fanjianfeng@byosoft.com.cn
 
From: Marvin Häuser
Date: 2021-08-01 01:21
To: devel@edk2.groups.io
CC: Hao A Wu
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
 
 

 
 
 

[-- Attachment #2: Type: text/html, Size: 4348 bytes --]

  parent reply	other threads:[~2021-08-02  4:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-31 17:21 SLDP: Usage of PE library context by debugger? Marvin Häuser
2021-08-02  3:09 ` [edk2-devel] " Ni, Ray
2021-08-02  5:36   ` Marvin Häuser
2021-08-02  4:51 ` Jeff Fan [this message]
2021-08-02  5:47   ` Marvin Häuser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2021080211280782338912@byosoft.com.cn \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox