浏览代码

Skip empty frame lines

Source commit: 010cad6d76f77db314260a9b7ba5826303b848e6
Martin Prikryl 9 年之前
父节点
当前提交
5c5d64f591
共有 1 个文件被更改,包括 16 次插入12 次删除
  1. 16 12
      source/windows/WinInterface.cpp

+ 16 - 12
source/windows/WinInterface.cpp

@@ -584,20 +584,24 @@ UnicodeString __fastcall GetExceptionDebugInfo()
     for (int Index = 0; Index < StackTrace->Count; Index++)
     {
       UnicodeString Frame = StackTrace->Strings[Index];
-      int P = Frame.Pos(L")");
-      if (DebugAlwaysTrue(P > 0))
+      // The last line might be empty
+      if (!Frame.IsEmpty())
       {
-        UnicodeString Symbol = Frame.SubString(P + 1, Frame.Length() - P).Trim();
-
-        if ((Symbol != L"KERNELBASE.dll.RaiseException") &&
-            (Symbol != L"Jclhookexcept::JclAddExceptNotifier") &&
-            (Symbol != L"_ReThrowException") &&
-            (Symbol != L"____ExceptionHandler") &&
-            (Symbol != L"__ExceptionHandler") &&
-            (Symbol != L"___doGlobalUnwind") &&
-            (Symbol != L"_ThrowExceptionLDTC"))
+        int P = Frame.Pos(L")");
+        if (DebugAlwaysTrue(P > 0))
         {
-          AddToList(Result, Symbol, L";");
+          UnicodeString Symbol = Frame.SubString(P + 1, Frame.Length() - P).Trim();
+
+          if ((Symbol != L"KERNELBASE.dll.RaiseException") &&
+              (Symbol != L"Jclhookexcept::JclAddExceptNotifier") &&
+              (Symbol != L"_ReThrowException") &&
+              (Symbol != L"____ExceptionHandler") &&
+              (Symbol != L"__ExceptionHandler") &&
+              (Symbol != L"___doGlobalUnwind") &&
+              (Symbol != L"_ThrowExceptionLDTC"))
+          {
+            AddToList(Result, Symbol, L";");
+          }
         }
       }
     }