This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-rover.git
The following commit(s) were added to refs/heads/main by this push:
new 8c160d2 Improve symbol analyzer (#32)
8c160d2 is described below
commit 8c160d282c2a32086e675761958e8ed9808e156d
Author: mrproliu <[email protected]>
AuthorDate: Tue May 17 14:45:21 2022 +0800
Improve symbol analyzer (#32)
---
pkg/tools/profiling/go_library.go | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/pkg/tools/profiling/go_library.go
b/pkg/tools/profiling/go_library.go
index 9284d74..9883672 100644
--- a/pkg/tools/profiling/go_library.go
+++ b/pkg/tools/profiling/go_library.go
@@ -23,6 +23,8 @@ import (
"sort"
"strings"
+ "github.com/hashicorp/go-multierror"
+
"github.com/apache/skywalking-rover/pkg/tools/path"
)
@@ -52,11 +54,12 @@ func (l *GoLibrary) AnalyzeSymbols(filePath string)
([]*Symbol, error) {
defer file.Close()
// exist symbol data
- symbols, err := file.Symbols()
- if err != nil || len(symbols) == 0 {
- return nil, nil
+ symbols, symError := file.Symbols()
+ dySyms, dyError := file.DynamicSymbols()
+ if len(symbols) == 0 && len(dySyms) == 0 {
+ symError = multierror.Append(symError, dyError)
+ return nil, symError
}
- dySyms, _ := file.DynamicSymbols()
symbols = append(symbols, dySyms...)
// adapt symbol struct