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

Reply via email to