我正在尋找一種工具來告訴/解決每個函數的所有調用路徑(稱之爲「路由」)。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