Tag: 断点

Visual Studio 2012 / C#中断了代码执行,没有设置断点

我在Visual Studio 2012 / C#中遇到了问题,这让我很生气。 我在C#文件中有一行特殊的代码,没有设置断点。 每次执行此行时,调试器都会中断我的代码执行,就像设置了断点一样。 我注意到的唯一区别是左侧的箭头,表示当前步骤。 通常此箭头为黄色(设置断点时)。 就我而言,它是灰色的。 我一直在寻找解决方案,但没有找到任何有用的东西。 我尝试删除所有断点,构建项目,重建项目,清理项目,它仍然出现。 有没有人有同样的问题,并找到了解决方案? 正常箭头: 在我的情况下箭头:

在Visual Studio 2010中调试源代码时发出的警告

我在源代码中设置了断点,但它会告诉我源代码与原始代码不同。 它不会命中breakpoint.Hit位置允许更改源代码。 任何人都可以解释我有问题吗?

Visual Studio调试器在混合调试模式下停止命中断点

我在MSVC2013中进行混合调试存在严重问题。 从本机C ++ DLL调用COM方法后,调试器不再停止在断点处。 代码结构 上图显示了代码的整体结构。 我有一个解决方案,包含大约10个C#项目,大约50个C ++本机项目,以及一个C ++ / CLI项目,作为托管和本地世界之间的桥梁。 启动项目是一个C#WPF项目( GUI Application ),它在内部调用C ++ / cli项目( Bridge ),后者又调用各种本机C ++ Dll( Various libraries )。 或者,我可以将C ++控制台应用程序( Service console app )作为启动项目,仅用于测试目的。 我已经实现了一个库来从Autodesk Inventor文档文件中导入一些信息。 Inventor Apprentice COM服务器(图片上的Inventor Apprentice )用于实现它,可以与Inventor View 2015一起免费下载。 作为第一步,导入是在独立的本机C ++控制台应用程序中实现的,一切正常。 然后它被改编为在整个基础架构中用作本机C ++ DLL( Import library ),并且调试地狱开始了。 症状 “调试坏了”。 在调试版本中,在Import library调用以下COM方法之后: auto pComponentDefinitions = […]

为什么调试器的断点条件允许赋值语句为bool-condition?

这是非常危险的,所以我想知道为什么它是允许的。 由于我经常需要在VB.NET和C#之间切换,我有时会添加断点条件,如下所示: foo = “bah” 我想停止,如果string变量foo是”bah ,所以正确的方法是使用foo == “bah”而不是foo = “bah” 。 但它“有效”。 在编译或运行时,您不会收到任何警告或错误。 但实际上这会修改变量foo ,即使它有不同的值,它也总是”bah” 。 由于这种情况无声地发生(断点永远不会被击中),因此非常危险。 为什么允许? 我的推理错误在哪里(除了混淆C#和VB.NET语法)? 在C#中(与VB.NET相反) 赋值语句返回已分配的值,因此不是bool ,而是在这种情况下为string 。 但是如果你选中“Is True”框,断点条件必须是一个bool 。 这是一个小样本“程序”和我(德国)IDE的截图: static void Main() { string foo = “foo”; // breakpoint with assignment(foo = “bah”) instead of comparison(foo == “bah”): Console.WriteLine(foo); // bah, variable is changed from the […]

我如何:使用条件创建断点?

我一直在我的Visual C#2008 RSS Feed中看到这个: http://sofzh.miximages.com/c%23/mad.jpg 我很确定这是VS 2010唯一的function,但我想知道是否还有在VS 2008中复制这个function?

在不设置断点的情况下调试Visual Studio 2010中的所有事件

我正在尝试调试具有大量事件的Windows窗体应用程序:按钮按钮,计时器等。 有没有办法在不设置断点的情况下捕获应用程序正在执行的每一行代码? 编辑:程序不是我写的,所以我不熟悉代码。 我希望逐步完成整个程序,捕获正在执行的每一行代码。 在每个事件中设置断点是不切实际的,因为动态创建了各种控件。

在托管语言中数据更改时断开的断点

我有一个列表属性的类,在某些情况下似乎丢失了一个元素。 我不知道这发生的时间。 所以我想要做的是设置一个Visual Studio断点,它将在该值发生变化时暂停程序。 条件断点在这种情况下不起作用,因为我不知道删除此断点的是什么。 换句话说,我希望我的程序在myList.Count评估为新数字时停止。 关于如何做到这一点的任何想法?

如何在每次访问类时设置断点

在使用第三方系统时,特别是可动态加载提供程序,控制器,组件等的非常可配置的系统,我有时只想知道何时访问某个对象或类。 通常情况下,我会在源代码中的任何潜在行放置一个断点(令人讨厌,但它有效),但如果源不可用: 如何指示Visual Studio 2010 Ultimate打破对给定类的任何和每次访问? 注意:就我的经验而言,这通常是不可能的,但我希望看到它得到证实

有条件的C#断点?

我正在调试一个foreach循环,该循环将迭代1000次以上 – 所以我只想在循环内断点以打破特定项目。 所以… foreach(Employee employee in employees) { //DO SOMETHING //BREAK HERE WHEN employee.Id == ‘2342’ //DO SOMETHING ELSE } 我是否必须在其中编写一个If语句和一些虚拟代码并以这种方式打破它? 唯一的办法呢?

一个奇怪的Visual Studio 2010调试器案例(它不能达到一个断点)

一个奇怪的Visual Studio 2010调试器案例(它不能达到一个断点) 这是重现问题的代码: class Program { static void Main(string[] args) { bool b = false; if (b) { List list = new List(); foreach (var item in list) { } } else { Console.WriteLine(“1”); } Console.WriteLine(“2”);//add a break point here in VS2010 } //1. configuration: release //2. platform target: x64 or Any Cpu //3. […]