コードで静的変数を見つける最も簡単な方法は?
-
22-07-2019 - |
質問
アプリケーションの起動時間を占有しているライブラリの1つで静的変数を見つけて書き換えるバグがプレートにあります。私はライブラリのコードベースに精通しておらず、優れたヒューリスティック/テクニック/ grepコマンド/などを求めています。これにより、静的変数の場所を特定するタスクが容易になりますか?
(追伸:コードベースでstatic
を既に検索しています。言うまでもなく、それは冗長な結果です。)
更新:バグレポートでは、<!> quot;静的初期化でライブラリXYZがNミリ秒かかる<!> quot ;;静的変数に関する情報はそれ以上ありません。プロファイリングログはありませんが、バグレポーターから取得できるかどうかを確認します。
解決
最初にnm -aC <libname>
を実行し、静的変数とグローバル変数(IIRCの前にB / bまたはT / tを付ける必要があります)でgrepを実行してから、ソースコードでそれらの変数を探します。干し草の山を少し絞り込むことができます。
所属していません StackOverflow