function 内の次のステートメントfunc()
では、malloc されたメモリ領域を指す変数名 (この例では「辞書」) を見つけようとしています。
Void func() {
uint64_t * dictionary = (uint64_t *) malloc ( sizeof(uint64_t) * 128 );
}
インストルメントmalloc()
化されたものは、割り当ての開始アドレスとサイズを記録できます。ただし、割り当てられる変数「辞書」の知識はありません。コンパイラ側の機能は、コンパイラを変更してそのような割り当てステートメントをインストルメント化することなく、この問題を解決するのに役立ちますか?
私が考えている 1 つの方法は、変数 'dictionary' と関数 'malloc' が 1 つのソース コード行または隣り合っているという機能を使用することです。dwarf は行情報を提供します。