Я столкнулся с неясным результатом, когда использовал callgraph для анализа проекта go-ethereum. Не могли бы вы дать мне подсказку, чтобы найти объяснение?
Я использовал эти команды для генерации отчетов:
1) анализ:
callgraph github.com/ethereum/go-ethereum/cmd/geth > go-ethereum_call.txt
2) ПТА-анализ:
callgraph -algo pta github.com/ethereum/go-ethereum/cmd/geth > go-ethereum_call_pta.txt
В частности, я не могу понять эту строку, которая появляется в обоих отчетах:
(github.com/ethereum/go-ethereum/log.funcHandler).Log --dynamic-36:10--> github.com/ethereum/go-ethereum/log.StreamHandler$1
Это должно быть названо здесь: https://github.com/ethereum/go-ethereum/blob/a9835c1816bc49ee54c82b4f2a5b05cbcd89881b/log/handler.go#L36
По какой причине такой динамический вызов может произойти и в каком случае это возможно?