[英]Add entry to list while debugging in Visual Studio
我的代码中有一点我添加了一个断点。 当调试器在断点处停止时,我想要做的是修改列表的内容(特别是在这种情况下,我想添加条目)。 如何在调试时修改列表的内容?
编辑:列表是字符串列表。
使用立即窗口(默认为CTRL + D,我使用C#键绑定,或者它在Debug> Windows菜单中)。
从那里只调用myList.Add(foo)
,它会回来说表达式已经被评估并且没有值,但是发生添加foo的副作用。
同样在监视窗口中,您可以执行单行语句(或更好的表达式)。
只需写下:
myList.Add("myNewValue")
并按ENTER
它应该工作(至少一直对我有用)
有一种技术可用于从断点内注入代码。 它很简单,而且很有效。
当您的断点被命中时,代码将执行,调试器将不会在断点处停止(因为您没有返回bool)。
我从Visual Studio技巧博客得到了这个提示: http : //blogs.msdn.com/b/zainnab/archive/2010/05/04/set-a-complex-breakpoint-condition-vstipdebug0022.aspx
这是一个示例程序,说明了该技术:
static void Main(string[] args)
{
List l = new List();
Console.WriteLine(l[0]);
System.Console.ReadLine();
}
如果按原样运行此代码,您将获得异常。 但是,在你的之前,添加一个断点来访问Console.WriteLine()行。
右键单击断点,然后选择“条件”在条件对话框中,添加以下代码:
l.Add("hello")
现在跑。
显然,一个人可能会遇到很多这个“功能”的问题 - 您可以使用断点更改应用程序的行为,使得代码的独立构建与在调试器中的计算机上运行时的行为不同。 所以,要非常小心......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.