我正在测试符号的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.图像名称正确显示。 我做错了什么?