我正在使用SymEnumSymbols
将所有匹配符号获取到给定掩码,并使用 CALLBACK 函数将它们推送到向量中。问题是,符号名称(在PSYMBOL_INFO
结构内部)只是函数的名称,而不是整个签名。例如,我有这个函数:
TestMe!GetImageProcAddress (struct HINSTANCE__ *hi, int num)
当我SymEnumSymbols
使用 mask调用"TestMe!GetImageProcAddress"
并打印匹配符号的名称时,我得到:
printf("%s\n", pSymInfo->Name); // Prints: GetImageProcAddress
但我希望它打印其中之一:
TestMe!GetImageProcAddress (struct HINSTANCE__ *, int)
GetImageProcAddress (struct HINSTANCE__ *, int)
所以我的问题 - 有没有办法获得完整的符号签名(函数名称+参数类型)?我能够使用SymSetContext
, 然后SymEnumSymbols
使用标志来迭代参数SYMFLAG_PARAMETER
- 但我不知道如何获取参数的类型..
谢谢!