On May 23, 2013, at 8:22 PM, "Ni, Ruiyu" <[email protected]> wrote:
> I am not familiar to the Linux's kdb. Does the kdb run in the same Linux or > another HOST Linux communicating over serial? > There is a stub with a command line on the target machine, so for EFI this would be built into DebugAgentLib and the command line becomes active when you hit an exception. You can dump registers, memory, see the stack frame, set breakpoints, etc. but it is not a source level debugger. You can also run kgdb on another machine and do source level debugging. Thus the serial protocol needs to split the traffic, maybe three ways if you have an EFI console on the serial port. What you can do on the target machine is limited by practicality. For example with Visual Studio and X64 I don't think you can get a stack trace without symbols, but you can with clang on X64. You could add a disassembler, but there will be a price to be paid in the size of the DebugAgentLib. Thanks, Andrew Fish Just to make things confusing OS X supports a KDP serial protocol that is not the same as the GDB serial protocol. > -----Original Message----- > From: Richardson, Brian [mailto:[email protected]] > Sent: Friday, May 24, 2013 12:25 AM > To: [email protected] > Subject: Re: [edk2] What do you use for debugging? > > 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 ------------------------------------------------------------------------------ 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
