diff --git a/cmd/trace.go b/cmd/trace.go index 0c67775..2bd47ff 100644 --- a/cmd/trace.go +++ b/cmd/trace.go @@ -31,6 +31,9 @@ func init() { traceCmd := &cobra.Command{ Use: "trace", Short: "To trace traffic", + PreRun: func(cmd *cobra.Command, args []string) { + trace.ReadKallsyms() + }, Run: func(cmd *cobra.Command, args []string) { internal.AutoSu() diff --git a/trace/kallsyms.go b/trace/kallsyms.go index aa575d9..c920cb8 100644 --- a/trace/kallsyms.go +++ b/trace/kallsyms.go @@ -26,11 +26,7 @@ var kallsyms []Symbol var kallsymsByName map[string]Symbol = make(map[string]Symbol) var kallsymsByAddr map[uint64]Symbol = make(map[uint64]Symbol) -func init() { - readKallsyms() -} - -func readKallsyms() { +func ReadKallsyms() { file, err := os.Open("/proc/kallsyms") if err != nil { logrus.Fatalf("failed to open /proc/kallsyms: %v", err)