소스 검색

* check for cache entry before even trying to open the file containing the debug info

git-svn-id: trunk@49086 -
florian 4 년 전
부모
커밋
45b3d8e0bf
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      rtl/inc/lnfodwrf.pp

+ 3 - 3
rtl/inc/lnfodwrf.pp

@@ -1316,9 +1316,6 @@ begin
   source := '';
   GetLineInfo:=false;
 
-  if not OpenDwarf(codepointer(addr)) then
-    exit;
-
   CacheIndex:=addr mod LineInfoCacheLength;
 
   if LineInfoCache[CacheIndex].addr=addr then
@@ -1330,6 +1327,9 @@ begin
       exit;
     end;
 
+  if not OpenDwarf(codepointer(addr)) then
+    exit;
+
 {$ifdef CPUI8086}
   {$if defined(FPC_MM_MEDIUM) or defined(FPC_MM_LARGE) or defined(FPC_MM_HUGE)}
     segment := (addr shr 16) - e.processsegment;