1
Iam嘗試使用java在eclipse CDT的幫助下實現C程序的緩衝區溢出問題。 通過給出一個常數值作爲數組下標,其工作正常,如我所料。使用cdt eclipse獲取C程序的數組下標
參見示例代碼:
CASTArraySubscriptExpression exprsn = (CASTArraySubscriptExpression)astName.getParent().getParent();
String size = exprsn.getSubscriptExpression().toString();
System.out.println("Size : " + size);
使用這種代碼,能夠檢測下面的代碼的數組下標值:
int a[10];
a[12] = 4;//Here it detect the buffer overrun problem.
但是,如果我給這樣的:
int a[10];
int i = 21;
a[i] = 4;
在這裏,無法檢測到索引i
的值。 如何使用CDT檢測值?
如果標記爲'const int i = 21;',它會起作用嗎? –
不,我得到了與[email protected]a9相同的結果 – Haseena