Paul, Sorry, correct some import words in my last mail. “I did NOT finalize my POC”.:-) Jeff ________________________________ From: edk2-devel on behalf of Fan Jeff Sent: Tuesday, November 14, 2017 10:03:20 PM To: Paulo Alcantara; edk2-devel@lists.01.org Cc: Rick Bramley; Laszlo Ersek; Andrew Fish; Eric Dong Subject: [edk2] 答复: [RFC 0/1] Stack trace support in X64 exception handling Paul, I like this feature very much. Actually, I did some POC one year ago but I did finalize it. In my POC, I could use EBP to tack the stack frame on IAS32 arch. But for x64, I tried to use –keepexceptiontable flag to explain stack frame from the debug section of image. I may workson MSFT toolchain, but it did now work well for GCC toolchain. I think Eric could help to verify MSFT for your patch. If it works well, that’s will be great! Say again, I like this feature!!!:-) Thanks! Jeff 发件人: Paulo Alcantara 发送时间: 2017年11月14日 21:23 收件人: edk2-devel@lists.01.org 抄送: Rick Bramley; Laszlo Ersek; Andrew Fish; Eric Dong 主题: Re: [edk2] [RFC 0/1] Stack trace support in X64 exception handling Hi, On 14/11/2017 10:47, Paulo Alcantara wrote: > Hi, > > This series adds stack trace support during a X64 CPU exception. > > Informations like back trace, stack contents and image module names > (that were part of the call stack) will be dumped out. > > We already have such support in ARM/AArch64 (IIRC) exception handling > (thanks to Ard), and then I thought we'd also deserve it in X64 and > IA-32 platforms. > > What do you think guys? > > BTW, I've tested this only with OVMF (X64 only), using: > - gcc-6.3.0, GCC5, NOOPT > > Any other tests would be really appreciable. I've attached a file to show you how the trace would look like. Thanks! Paulo > > Thanks! > Paulo > > Repo: https://github.com/pcacjr/edk2.git > Branch: stacktrace_x64 > > Cc: Rick Bramley > Cc: Andrew Fish > Cc: Eric Dong > Cc: Laszlo Ersek > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Paulo Alcantara > --- > > Paulo Alcantara (1): > UefiCpuPkg/CpuExceptionHandlerLib/X64: Add stack trace support > > UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ArchExceptionHandler.c | 344 +++++++++++++++++++- > 1 file changed, 342 insertions(+), 2 deletions(-) >