Re: 回复: [edk2-devel] [PATCH] EmulatorPkg: Update lldbefi.py to work with current lldb which uses python3

Rebecca Cran rebecca at bsdio.com
Sat Jun 12 22:54:31 UTC 2021


Could someone commit this please?


-- 
Rebecca Cran

On 5/17/21 6:45 PM, gaoliming wrote:
> 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 (#76438): https://edk2.groups.io/g/devel/message/76438
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