回复: [edk2-devel] [PATCH] EmulatorPkg: Update lldbefi.py to work with current lldb which uses python3
gaoliming
gaoliming at byosoft.com.cn
Tue May 18 00:45:47 UTC 2021
Rebecca:
This change supports python2 & python3 both. So, I think this is a good fix. Reviewed-by: Liming Gao <gaoliming at byosoft.com.cn>
Thanks
Liming
> -----邮件原件-----
> 发件人: devel at edk2.groups.io <devel at edk2.groups.io> 代表 Rebecca Cran
> 发送时间: 2021年5月17日 21:29
> 收件人: devel at edk2.groups.io; Andrew Fish <afish at apple.com>; Ray Ni
> <ray.ni at intel.com>
> 主题: Re: [edk2-devel] [PATCH] EmulatorPkg: Update lldbefi.py to work with
> current lldb which uses python3
>
> Could someone review this please?
>
> Thanks.
> Rebecca Cran
>
> On 5/9/21 1:26 PM, Rebecca Cran wrote:
> > The version of lldb shipping with macOS Big Sur is lldb-1205.0.27.3, and
> > it uses python3. Update lldbefi.py to work with it, including removing
> > the unused 'commands' import and fixing the print statements.
> >
> > Signed-off-by: Rebecca Cran <rebecca at bsdio.com>
> > ---
> > EmulatorPkg/Unix/lldbefi.py | 17 ++++++++---------
> > 1 file changed, 8 insertions(+), 9 deletions(-)
> >
> > diff --git a/EmulatorPkg/Unix/lldbefi.py b/EmulatorPkg/Unix/lldbefi.py
> > index c3fb2675cb..952f8bf982 100755
> > --- a/EmulatorPkg/Unix/lldbefi.py
> > +++ b/EmulatorPkg/Unix/lldbefi.py
> > @@ -10,7 +10,6 @@ import lldb
> > import os
> > import uuid
> > import string
> > -import commands
> > import optparse
> > import shlex
> >
> > @@ -389,7 +388,7 @@ def LoadEmulatorEfiSymbols(frame, bp_loc ,
> internal_dict):
> >
> > FileName = frame.thread.process.ReadCStringFromMemory
> (FileNamePtr, FileNameLen, Error)
> > if not Error.Success():
> > - print "!ReadCStringFromMemory() did not find a %d byte C string
> at %x" % (FileNameLen, FileNamePtr)
> > + print("!ReadCStringFromMemory() did not find a %d byte C string
> at %x" % (FileNameLen, FileNamePtr))
> > # make breakpoint command continue
> > return False
> >
> > @@ -398,7 +397,7 @@ def LoadEmulatorEfiSymbols(frame, bp_loc ,
> internal_dict):
> > LoadAddress = frame.FindVariable
> ("LoadAddress").GetValueAsUnsigned() - 0x240
> >
> > debugger.HandleCommand ("target modules add %s" %
> FileName)
> > - print "target modules load --slid 0x%x %s" % (LoadAddress,
> FileName)
> > + print("target modules load --slid 0x%x %s" % (LoadAddress,
> FileName))
> > debugger.HandleCommand ("target modules load --slide 0x%x
> --file %s" % (LoadAddress, FileName))
> > else:
> > target = debugger.GetSelectedTarget()
> > @@ -408,7 +407,7 @@ def LoadEmulatorEfiSymbols(frame, bp_loc ,
> internal_dict):
> > if FileName == ModuleName or FileName ==
> SBModule.GetFileSpec().GetFilename():
> > target.ClearModuleLoadAddress (SBModule)
> > if not target.RemoveModule (SBModule):
> > - print "!lldb.target.RemoveModule (%s) FAILED" %
> SBModule
> > + print("!lldb.target.RemoveModule (%s) FAILED" %
> SBModule)
> >
> > # make breakpoint command continue
> > return False
> > @@ -490,15 +489,15 @@ def efi_guid_command(debugger, command,
> result, dict):
> >
> > if len(args) >= 1:
> > if GuidStr in guid_dict:
> > - print "%s = %s" % (guid_dict[GuidStr], GuidStr)
> > - print "%s = %s" % (guid_dict[GuidStr], GuidToCStructStr
> (GuidStr))
> > + print("%s = %s" % (guid_dict[GuidStr], GuidStr))
> > + print("%s = %s" % (guid_dict[GuidStr], GuidToCStructStr
> (GuidStr)))
> > else:
> > - print GuidStr
> > + print(GuidStr)
> > else:
> > # dump entire dictionary
> > width = max(len(v) for k,v in guid_dict.iteritems())
> > for value in sorted(guid_dict, key=guid_dict.get):
> > - print '%-*s %s %s' % (width, guid_dict[value], value,
> GuidToCStructStr(value))
> > + print('%-*s %s %s' % (width, guid_dict[value], value,
> GuidToCStructStr(value)))
> >
> > return
> >
> > @@ -538,4 +537,4 @@ def __lldb_init_module (debugger, internal_dict):
> > if Breakpoint.GetNumLocations() == 1:
> > # Set the emulator breakpoints, if we are in the emulator
> > debugger.HandleCommand("breakpoint command add -s
> python -F lldbefi.LoadEmulatorEfiSymbols {id}".format(id=Breakpoint.GetID()))
> > - print 'Type r to run emulator. SecLldbScriptBreak armed. EFI
> modules should now get source level debugging in the emulator.'
> > + print('Type r to run emulator. SecLldbScriptBreak armed. EFI
> modules should now get source level debugging in the emulator.')
> >
>
>
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75229): https://edk2.groups.io/g/devel/message/75229
Mute This Topic: https://groups.io/mt/82901806/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list