Warum zeigt ein In-Scope-Objekt als "tot" in Visual Studio, wenn sie einen Heap-Schnappschuss durchführen?
Posted: 12 Apr 2025, 03:09
Ich habe das folgende Beispielprogramm: < /p>
program.cs:
Wenn ich einen Haltepunkt in dieser Zeile in der Methode Haupt lege:
und machen Sie einen Heap -Snapshot, es zeigt das ZZTest -Objekt als tot ohne Referenzen (es wird nur angezeigt, es sei denn, ich überprüfe "tote Objekte"):
Frage: < /strong>
Da sich die Variable "testObject" zu diesem Zeitpunkt noch im Rahmen des Rahmens befindet und somit auf das Objekt immer noch verwiesen wird, warum sollte es sich als totes Objekt widerspiegeln? < /p>
program.cs:
Code: Select all
internal class Program
{
private static void Main(string[] args)
{
var testObject = new ZZTest();
Console.ReadLine();
Console.WriteLine(testObject.ToString());
}
}
< /code>
zzTest.cs:
public class ZZTest
{
private string testString = "test";
}
Code: Select all
Console.ReadLine();
Frage: < /strong>
Da sich die Variable "testObject" zu diesem Zeitpunkt noch im Rahmen des Rahmens befindet und somit auf das Objekt immer noch verwiesen wird, warum sollte es sich als totes Objekt widerspiegeln? < /p>