回复: [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