diff options
Diffstat (limited to 'sal')
-rw-r--r-- | sal/osl/unx/backtraceapi.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sal/osl/unx/backtraceapi.cxx b/sal/osl/unx/backtraceapi.cxx index b372a500f7f0..3022be8dd829 100644 --- a/sal/osl/unx/backtraceapi.cxx +++ b/sal/osl/unx/backtraceapi.cxx @@ -161,7 +161,13 @@ void process_file_addr2line( const char* file, std::vector<FrameData>& frameData OString function = lines[linesPos]; OString source = lines[linesPos+1]; linesPos += 2; - if(!function.isEmpty() && !function.startsWith("??")) + if(function.isEmpty() || function.startsWith("??")) + { + // Cache that the address cannot be resolved. + std::lock_guard guard(frameCacheMutex); + frameCache.insert( { frame.addr, "" } ); + } + else { if( source.startsWith("??")) frame.info = function + " in " + file; |