我正在使用VS.NET2010。我编译了一个非常简单的.NET4.0应用程序。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceTestWindbg{classProgram{staticvoidMain(string[]args){Console.ReadLine();Func1();}staticvoidFunc1(){inti=0;intj=i+2;Console.WriteLine(j);}}}我打开windbg6.12.0002.633编译后的可执行文件
您能否在某些方法(某些代码区域)的输出中隐藏“抛出异常”消息?我使用HttpWebRequest进行服务器通信。我定期检查服务器是否可用(每秒几次)。当服务器不可访问时,HttpWebRequest会抛出异常。我捕获它并将启用的GUI元素设置为false。问题是当服务器无法访问时,输出窗口会被“抛出的异常”消息弄得乱七八糟。我知道您可以右键单击输出窗口并取消选中“异常消息”。但我不仅是一个从事该项目的人,而且可能有人希望看到一些其他异常消息(在他们的项目部分)。我需要的例子://Keepshowing"Exceptionthrown"messageinthismethod.static
我遇到了一个问题,我正在处理的应用程序存在内存泄漏。经验告诉我,垃圾收集语言遇到内存泄漏的第一个地方是处理订阅事件和未能取消订阅事件。第二个与存储静态有关。我是C#的新手,对不透明的事件类型感到很沮丧。我们幸运地发现了一些双重订阅错误,但该应用程序确实将事件用于许多事情。虽然我们很清楚取消订阅您订阅的所有内容的原则,但仍然存在内存泄漏。我想系统地确定什么订阅了什么。编辑:感谢您提供指向GetInvocationList()方法的指针。我正在尝试创建一个将动态转储结果的调试工具。问题是我找到的解决方案在.Net2中有效,但在.Net3.5中不再有效。本质上,它告诉您为EventInfo获
我正在寻找VisualStudio的扩展,在Debug模式下可以单步执行除C#之外的中间语言。我不是在寻找调试托管和非托管代码的解决方案。 最佳答案 你的目的是什么?您的IL是由C#编译器生成的还是在运行时动态生成的?如果是前者,您可以使用一个技巧,通过ilasm重新编译您的二进制文件。像往常一样编译C#代码。优化与否无关紧要,但您必须指定编译选项以生成完整的PDB符号。使用ildasm将您的二进制文件转换为.il文件。它是菜单中的转储选项。重新编译.il文件以获得新的二进制文件(和新的符号)ilasm.il[/exe|/dll]/
在VS的外部工具设置下,有一个“使用输出窗口”复选框,用于捕获工具命令行输出并将其转储到VS选项卡。问题是:当我按下F5时,我的程序能否得到相同的处理?编辑:FWIW我在C#中,但如果这对您的答案有影响,那么您的答案不太可能是我正在寻找的。我想要的是将程序的输出流传输到VS中的输出选项卡,使用输出重定向(“|”和“>”)在cmd提示符中使用的相同设备。 最佳答案 您应该能够在文本文件中捕获输出并使用它。我手边没有VS,所以这是凭内存:创建一个C++项目打开项目设置,调试选项卡启用托管调试编辑命令行以添加“>output.txt”在调
我正在开发一个WebAPI项目,该项目使用内部模拟框架来拦截和修改来自Controller的响应。它使用MEF加载一个程序集,其中包含在满足某些先决条件时执行的代码。我知道这工作正常,因为我可以在响应中看到模拟已执行,但由于某种原因我无法调试动态加载程序集中的代码。尽管断点看起来很活跃,但执行绝不会在那里中断。我尝试调用Debugger.Break();它确实中断了,但调用堆栈显示为空,VisualStudio仅显示此消息:我可以看到程序集及其符号已加载到模块窗口中:我可以在调用动态加载的程序集(behavior参数)之前中断,它看起来像这样:privateHttpResponseMe
我负责为我的雇主测试VS2015以及它如何与我们当前的应用程序一起工作。我们目前对我们拥有的一切都使用VS2013,所以我知道那里没有问题。我遇到的问题是vshost.exe似乎没有正确终止或其他原因。我还没有缩小确切问题的范围,但到目前为止,我是这么认为的。这是我得到错误的方式:调试运行我的应用打开几个窗口点击“停止调试”按钮(红色小方block)清洁解决方案重建解决方案重建后,我在EXE中收到以下错误:ErrorCouldnotcopy"obj\Debug\APP.exe"to"..\..\bin\APP.exe".Exceededretrycountof10.Failed.Err
我有两个使用C#编写的Windows服务,它们遵循相同的模式和方法。这两种服务都针对Windows7VM进行了开发测试,并在WindowsServer2008VM上进行了QA测试。这两项服务已在这些测试环境下多次安装和卸载,没有问题,但在生产环境(WindowsServer2008)中安装后,这两项服务之一拒绝启动。要安装服务,我们使用InstallUtil.exe以及附加到服务的ServiceInstaller和ServiceProcessInstaller组件。从表面上看,失败的服务安装成功。InstallUtil.exe报告成功并且该服务出现在服务管理单元中。您还可以在HKEY_
我最近开始使用私有(private)NuGet服务器来管理我组织的内部库。这意味着为了进入库中我们自己的代码,我需要在调试选项中禁用“仅启用我的代码”,因为我们不再直接引用项目。这是一个非常庞大的MVC项目,除了ViewBag之外,它还使用动态类型和ExpandoObjects。每次使用动态类型时,我都会得到两个RuntimeBinderExceptions......这很多。从我读过的内容来看,这似乎是正常行为。它可能很正常,但没有用。我的第一个想法是在“调试”->“异常”对话框中禁用这个特定的异常。在那里找不到异常(exception)。我想不出任何方法能够走出直接引用的项目,同时
我有一种特殊类型的异常,我希望VisualStudio不中断并显示异常助手屏幕。本质上,我希望它只是让我的正常异常处理基础架构来处理它。异常是我编写的System.Exception的继承者,并且有源代码。任何抛出它的地方我都希望VS不捕获它,即仅抑制一次thrownewBlahException();是没有用的;在代码中。这是因为经常抛出异常,我不想单独抑制每个实例。以防万一,我使用的是VisualStudio2010Ultimate,Framework3.5SP1。 最佳答案 转到“调试”菜单并选择“异常”。选择添加并输入您的异