我正在寻找一种工具来告诉/解决每个函数的所有调用路径(称之为“路由”)。C++函数调用路由解析器
例如:
void deeper(int *pNumber)
{
*pNumber++;
}
void gateA(int *pNumber)
{
deeper(pNumber);
}
void gateB(int *pNumber)
{
gateA(pNumber);
}
void main()
{
int x = 123;
gateA(&x);
gateB(&x);
}
看到了吗? 我需要一个工具来告诉我所有的路径更深(),如果可能的话更多。
通过说“more”我的意思是它会告诉我指针是否与提供给调用函数相同。
这将大大节省我的时间。 谢谢!
是否必须在特定平台上运行(在Windows,Mac OSX,Linux和OpenBSD的,OpenSolaris的,无论)? – 2010-03-22 18:07:23
它是否必须检测间接调用,例如通过函数指针或虚拟调用? – 2010-03-22 18:31:15
@David:我正在使用Windows。对我来说就够了。 @Rob:我不希望这样的功能,虽然这会大大提高工具的流行度(: 似乎这里的人已经提出了很好的解决方案,稍后会检查它 – Poni 2010-03-22 22:48:11