繁体   English   中英

在Visual Studio中调试时添加条目到列表

[英]Add entry to list while debugging in Visual Studio

我的代码中有一点我添加了一个断点。 当调试器在断点处停止时,我想要做的是修改列表的内容(特别是在这种情况下,我想添加条目)。 如何在调试时修改列表的内容?

编辑:列表是字符串列表。

使用立即窗口(默认为CTRL + D,我使用C#键绑定,或者它在Debug> Windows菜单中)。

从那里只调用myList.Add(foo) ,它会回来说表达式已经被评估并且没有值,但是发生添加foo的副作用。

同样在监视窗口中,您可以执行单行语句(或更好的表达式)。

只需写下:

myList.Add("myNewValue")

并按ENTER它应该工作(至少一直对我有用)

有一种技术可用于从断点内注入代码。 它很简单,而且很有效。

  1. 设置断点
  2. 右键单击断点,然后选择“条件”
  3. 把你的代码行放在条件中(它不必返回一个bool)

当您的断点被命中时,代码将执行,调试器将不会在断点处停止(因为您没有返回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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM