Paulo, I will try to validate my code firstly and try to integrate into your patch. Before my part ready, it’s also welcome if you or others provide yours own solution on X64 MSFT toolchain. In my mind, IA32 arch should use the same solution with yours, have you tested your solution on IA32 arch with GCC toolchain? Thanks! Jeff ________________________________ From: Paulo Alcantara Sent: Tuesday, November 14, 2017 11:37:35 PM To: Fan Jeff; edk2-devel@lists.01.org Cc: Rick Bramley; Laszlo Ersek; Andrew Fish; Eric Dong Subject: Re: 答复: [edk2] [RFC 0/1] Stack trace support in X64 exception handling Hi Fan, On 14/11/2017 12:03, Fan Jeff wrote: > 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!!!:-) Cool! Your help would be really appreciable! If we get this working for X64 in both toolchains, that should be easy to port it to IA-32 as well. Thank you very much for willing to help on that. Paulo > > 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(-) >> >