If you are using gdb all you really need is a very simple stub on the
target.  GDB on the host side will query about what the stub supports.  I
believe the minimum is very simple; read/write memory and registers and gdb
will take care of the rest.  For instance if hw breakpoints exist gdb will
default to those, and if not it will insert a trap instruction at the break
address.  There are a few stubs in the EDK already I assume they work
pretty well.

If you don't need access to specialized hardware I've had pretty good
success with qemu/gdb on ia32/x64/arm.


On Thu, May 23, 2013 at 12:25 PM, Richardson, Brian <
[email protected]> wrote:

> Congratulations, you've won the "I had a great idea for an open source
> project" award for the day. Have fun implementing it :)
>
> Seriously, this might make a good GSOC project. It's worth poking a few
> people to see if that can happen.
>
> Thanks ... br
> ---
> Brian Richardson -- [email protected] -- Twitter: intel_brian
>
>
> -----Original Message-----
> From: Brian J. Johnson [mailto:[email protected]]
> Sent: Thursday, May 23, 2013 12:14 PM
> To: [email protected]
> Subject: Re: [edk2] What do you use for debugging?
>
> Yes, an XDP debugger, a.k.a. ITP (Intel's or Arium's -- I'm not aware of
> any others) sounds like what you're looking for.
>
> Would there be any interest in the community in an embedded command-line
> debugger, kind of like Linux's kdb?  It could attach the same way
> SourceLevelDebugPkg does, and even use the existing DebugCommunicationLibs
> for interacting with the user.  Essentially, it would work just like
> SourceLevelDebugPkg on the h/w and firmware side, but speak a command line
> instead of a remote debugging protocol out the serial port.  You could
> easily set breakpoints, examine memory and registers, enter the debugger
> after an exception, etc.  No source-level display, but a lot better than
> nothing, and probably less finicky than SourceLevelDebugPkg.
>
> Maybe that would be a good GSOC project?  SourceLevelDebugPkg contains
> most of the tricky parts already.
>
> Brian
>
> On 05/23/2013 08:20 AM, Richardson, Brian wrote:
> > Eric: an XDP debugger meets your requirements for memory dumps, register
> access and working in early firmware execution. This requires a XDP
> connector (or JTAG on ARM) which will not be standard on production
> machines.
> >
> > Thanks ... br
> > ---
> > Brian Richardson -- [email protected] -- Twitter: intel_brian
> >
> >
> > -----Original Message-----
> > From: Eric Kler [mailto:[email protected]]
> > Sent: Wednesday, May 22, 2013 11:42 PM
> > To: Richardson, Brian; [email protected]
> > Subject: Re: [edk2] What do you use for debugging?
> >
> > Typically the low level things: firmware, drivers. I mostly use
> emulators (qemu, vmware) but sometimes things that work there do not work
> on physical systems.
> >
> > I'm looking for utility/hardware that would let me to debug problematic
> machines (even without source code) from the very beginning of firmware
> execution. Wanted features at this point are pretty standard: breakpoints,
> registers introspections, memory dumping functions etc. Can you recommend
> something for this particular case? Thanks.
> >
> >
> > - Eric
> >
> >
> >
> >
> > ----- Original Message -----
> > From: "Richardson, Brian" <[email protected]>
> > To: "[email protected]"
> > <[email protected]>
> > Cc: Eric Kler <[email protected]>
> > Sent: Wednesday, May 22, 2013 7:28 PM
> > Subject: RE: [edk2] What do you use for debugging?
> >
> > I could you give you better guidance if I knew what type of UEFI code
> you were trying to debug (UEFI driver? OS loader? UEFI app? Firmware/BIOS?).
> >
> > The EDK II DEBUG() macro is surprisingly useful as a starting point.
> It's output-only debugging, but very useful for seeing output from stages
> of code where you have no display output.
> >
> > Thanks ... br
> > ---
> > Brian Richardson -- [email protected] -- Twitter: intel_brian
> >
> > -----Original Message-----
> > From: Eric Kler [mailto:[email protected]]
> > Sent: Wednesday, May 22, 2013 9:35 AM
> > To: edk2
> > Subject: [edk2] What do you use for debugging?
> >
> > Dear list,
> >
> > What do you use for debugging your code on real world systems? Is
> special hardware really necessary, I'm curious what professionals use in
> this field and what is the most recommended product.
> >
> > So far I have found following options:
> > - http://www.windriver.com/products/simics/  (software)-- but I have
> > no idea how much does it cost or if it will be enough for debugging
> > the firmware (product promo:
> > http://www.youtube.com/watch?v=lYAukMyek9A  )
> > - DQ57TM (hardware)
> >
> > Thanks,
> > Eric
> >
> > ----------------------------------------------------------------------
> > -------- Try New Relic Now & We'll Send You this Cool Shirt New Relic
> > is the only SaaS-based application performance monitoring service that
> > delivers powerful full stack analytics. Optimize and monitor your
> > browser, app, & servers with just a few lines of code. Try New Relic
> > and get this awesome Nerd Life shirt!
> > http://p.sf.net/sfu/newrelic_d2d_may
> > _______________________________________________
> > edk2-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> >
> > ----------------------------------------------------------------------
> > -------- Try New Relic Now & We'll Send You this Cool Shirt New Relic
> > is the only SaaS-based application performance monitoring service that
> > delivers powerful full stack analytics. Optimize and monitor your
> > browser, app, & servers with just a few lines of code. Try New Relic
> > and get this awesome Nerd Life shirt!
> > http://p.sf.net/sfu/newrelic_d2d_may
> > _______________________________________________
> > edk2-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> >
>
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt New Relic is the only
> SaaS-based application performance monitoring service that delivers
> powerful full stack analytics. Optimize and monitor your browser, app, &
> servers with just a few lines of code. Try New Relic and get this awesome
> Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to