首页
社区
课程
招聘
[讨论]关于Clr v4.0 的Dlsplay calls程序的FindMethod方法
2015-7-6 17:46 4489

[讨论]关于Clr v4.0 的Dlsplay calls程序的FindMethod方法

2015-7-6 17:46
4489
下面这段代码是Display Calls里面的意思是如果opcode==28(即CALL的调用)就截获其方法名称           
for (UINT x = 0; x < nDisasmedInstr; x++)
                {
                        if (info->ILCode[ilopar[x].Offset] == ILOPCODE_CALL)
                        {
                                DWORD dwToken = *((DWORD *) &info->ILCode[ilopar[x].Offset + 1]);

                                CORINFO_METHOD_HANDLE hCallHandle =comp->findMethod(info->scope, dwToken, info->ftn);

                                szMethodName = comp->getMethodName(hCallHandle, &szClassName);
                                //szMethodName = comp->getMethodName(info->ftn, &szClassName);
                                strcat_s(Calls, 0x1000, szClassName);
                                strcat_s(Calls, 0x1000, "::");
                                strcat_s(Calls, 0x1000, szMethodName);
                                strcat_s(Calls, 0x1000, "\r\n");
                        }
                }

然而.Net 2.0可以调用因为mscorwks.dll有findMethod这个函数,而.Net 4.0里面没有findMethod函数,这个函数有没有其它可以代替的函数呢?它的目的就是通过TokenId获取方法的句柄。

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 229
活跃值: (94)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
wswm 2015-7-6 17:47
2
0
有没有  大神指教一下
雪    币: 229
活跃值: (94)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
wswm 2015-7-7 10:06
3
0
搞.Net的人 就是少哦
游客
登录 | 注册 方可回帖
返回