From: Max Knutsen <maknu...@microsoft.com>

BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=2014

Add extra debugging to improve error identification.
Error while processing file if the file is read incorrectly

This patch is going to fix that issue.

Cc: Bob Feng <bob.c.f...@intel.com>
Cc: Liming Gao <liming....@intel.com>
Signed-off-by: Zhiju.Fan <zhijux....@intel.com>
---
 BaseTools/Source/Python/AutoGen/StrGather.py | 16 ++++++++++------
 BaseTools/Source/Python/Trim/Trim.py         |  4 +++-
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/StrGather.py 
b/BaseTools/Source/Python/AutoGen/StrGather.py
index 2e4671a433..eed30388be 100644
--- a/BaseTools/Source/Python/AutoGen/StrGather.py
+++ b/BaseTools/Source/Python/AutoGen/StrGather.py
@@ -526,12 +526,16 @@ def SearchString(UniObjectClass, FileList, 
IsCompatibleMode):
         return UniObjectClass
 
     for File in FileList:
-        if os.path.isfile(File):
-            Lines = open(File, 'r')
-            for Line in Lines:
-                for StrName in STRING_TOKEN.findall(Line):
-                    EdkLogger.debug(EdkLogger.DEBUG_5, "Found string 
identifier: " + StrName)
-                    UniObjectClass.SetStringReferenced(StrName)
+        try:
+            if os.path.isfile(File):
+                Lines = open(File, 'r')
+                for Line in Lines:
+                    for StrName in STRING_TOKEN.findall(Line):
+                        EdkLogger.debug(EdkLogger.DEBUG_5, "Found string 
identifier: " + StrName)
+                        UniObjectClass.SetStringReferenced(StrName)
+        except:
+            EdkLogger.error("UnicodeStringGather", AUTOGEN_ERROR, 
"SearchString: Error while processing file", File=File, RaiseError=False)
+            raise
 
     UniObjectClass.ReToken()
 
diff --git a/BaseTools/Source/Python/Trim/Trim.py 
b/BaseTools/Source/Python/Trim/Trim.py
index 43119bd7ff..8767b67f7e 100644
--- a/BaseTools/Source/Python/Trim/Trim.py
+++ b/BaseTools/Source/Python/Trim/Trim.py
@@ -73,8 +73,10 @@ def TrimPreprocessedFile(Source, Target, ConvertHex, 
TrimLong):
     try:
         with open(Source, "r") as File:
             Lines = File.readlines()
-    except:
+    except IOError:
         EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=Source)
+    expect:
+        EdkLogger.error("Trim", AUTOGEN_ERROR, "TrimPreprocessedFile: Error 
while processing file", File=Source)
 
     PreprocessedFile = ""
     InjectedFile = ""
-- 
2.14.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44359): https://edk2.groups.io/g/devel/message/44359
Mute This Topic: https://groups.io/mt/32594584/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to