gpt4 book ai didi

c# - 在 Visual Studio 立即窗口中清除堆栈

转载 作者:可可西里 更新时间:2023-11-01 08:28:53 25 4
gpt4 key购买 nike

在使用即时窗口时,必须区分运行时和设计时。

如果我在设计时使用即时窗口并将局部变量放入堆栈:

string s = "test";

VS 将启动编译器并在堆上创建一个名为 s 的新变量,并将指向它的指针放置在它在设计时使用的临时堆栈框架上。 (至少我认为这就是它的工作原理,至少是简化的。不过,如果我错了请纠正我)

从现在开始,我无法将 s 用于任何其他用途,直到我运行我的应用程序或关闭 VS:

int s = 12;
A local variable named 's' is already defined in this scope

我可以使用上下文菜单清除即时窗口,但这实际上只是清除了窗口本身。我的局部变量仍在堆栈中。

我想知道,是否真的没有办法清除我之前在即时窗口中创建的所有变量?

(我使用的是 VS 2012 SP1 Prof. 但我想这个问题对于每个版本的 VS 都是一样的)

最佳答案

我不知道 visual studio 中到底发生了什么的确切基础,但似乎 VS 在 vshost.exe 进程中保留了一个编译版本。

如果您终止相关进程(即 WindowsFormsApplication1.vshost.exe *32),它将清除堆栈并允许您重用该变量而无需重新启动 VS。

关于c# - 在 Visual Studio 立即窗口中清除堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14145539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com