記号の PIN サポートをテストしています。次のコードがあります。
VOID getSymbolAddressByName () {
for (IMG img = APP_ImgHead(); IMG_Valid(img); img = IMG_Next(img)){
for( SYM sym = IMG_RegsymHead(img); SYM_Valid(sym); sym = SYM_Next(sym) ) {
MYINFO("\n IMG NAME %s \n SYM NAME %s SYM ADDRESS %d SYM VALUE %d \n", IMG_Name(img), PIN_UndecorateSymbolName(SYM_Name(sym), UNDECORATION_COMPLETE), SYM_Address(sym), SYM_Value(sym));
}
}
}
基本的に、実行可能ファイルのロードされたすべてのイメージと、それぞれのすべてのシンボルを解析しています。シンボルごとに、画像の名前、アドレス、名前、および値を出力します。
私の目的は、ここでコードの後半部分を使用して、名前から始まるシンボルのアドレスを取得することです。
ただし、プログラムは情報を正しく出力しません。シンボルの名前は(null)で、値とアドレスは 0 に設定されます。イメージの名前は正しく表示されます。私は何を間違っていますか?