I am trying to find the best way to debug EFI boot loaders at the instruction level. I am trying to write one executed from an EFI shell that passes off control to the Windows boot manager in Windows 8 (bootmgfw.efi) and I seem to be unable to debug this binary as it passes off control to winload.efi.
I have only been able to create a debug entry in Windows 8 to debug winload.efi after the virtual memory mapping has already taken place with the SetMemoryMap and ExitBootServices calls. I want to be able to debug this whole boot process of a UEFI Windows installation started from an EFI shell application.
Any insight would be appreciated. I have a Tunnel Mountain UEFI dev kit system (with source-level debug ROM) and VMware with an EFI shell to play with.