On 04/20/18 16:54, Johannes Swoboda wrote: > Hello, > > Thank you all for your insights. > > You advised me to use the scripts from [1]. > I did so following this guide [2] (thank you also for putting it back > up!), with the minor adaptions that I made the script > python3-compatible[3], and applied the patches mentioned in [2] > manually. I assume they failed because they could only be applied to > older versions of the files to be patched. > > In particular, I added the line DebugPkg/GdbSyms/GdbSyms.inf right below > line OvmfPkg/PlatformDxe/Platform.inf in line 830 of the vUDK2018 > release. That makes sense, right?
You can add GdbSyms.inf anywhere near the other DXE phase modules. Just make sure that you patch the DSC file(s) that you build and run afterwards. (I.e., avoid the case where you patch e.g. the X64 DSC but then build & boot the IA32 binary.) > > The guide looks promising; I think this would give me everything I need. > However I ran into a problem when executing >> (gdb) reload-uefi -o >> ./Build/OvmfX64/DEBUG_GCC5/X64/DebugPkg/GdbSyms/GdbSyms/DEBUG/GdbSyms.dll > > gdb complained: >> Python Exception <class 'gdb.error'> No type named >> EFI_SYSTEM_TABLE_POINTER.: >> Error occurred in Python command: No type named EFI_SYSTEM_TABLE_POINTER. > > The EFI_SYSTEM_TABLE_POINTER is defined in > [WORKSPACE]/MdeModulePkg/Core/Dxe/Misc/DebugImageInfo.c, so I'm guessing > I lack that file respectively its corresponding module. This command will only work after you attach gdb to qemu. In general, python extensions for gdb can only look up non-standard typenames etc. if gdb is connected to a live image that uses those types. People generally create gdb scripts as follows: set height 0 set architecture i386:intel target remote localhost:1234 source /.../edk2/DebugPkg/Scripts/gdb_uefi.py reload-uefi -o /.../edk2/Build/Ovmf.../.../.../DebugPkg/GdbSyms/GdbSyms/DEBUG/GdbSyms.dll And then pass this command script to gdb with the "-x" option. Thanks, Laszlo _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel