ちょっと興味があります.C#でヒープ/バッファオーバーフローの例外に遭遇したことはありますか?
3115 次
2 に答える
9
C# では、安全でないコードでバッファ オーバーフローが発生する可能性があります。例えば:
public unsafe struct testo
{
public int before;
public fixed int items[16];
public int after;
}
testo x = new testo();
x.after = 1;
for (int i = 0; i <= 16; ++i)
{
unsafe
{
x.items[i] = 99;
}
}
Console.WriteLine(x.after);
上記は、バッファをオーバーフローしたため、「99」を出力します。
安全でないコードがないため、例外をトリガーしないバッファー オーバーランを引き起こす方法を知りません。
于 2010-10-22T19:09:30.367 に答える
0
バッファオーバーフローの意味によっては、IndexOutOfRangeExceptionはオーバーフローによって引き起こされる例外です。割り当てサイズを超えて配列インデックスにアクセスすることで、かなり簡単に取得できます。同様に十分な再帰を行うと、StackOverflowExceptionが発生する可能性があります。何を探しているのかわからないので、明確にしておくとよいでしょう。
于 2010-10-22T18:50:22.237 に答える