当一个debugging器连接到一个.NET进程时,它通常会在引发未处理的exception时停止。 但是,当你在一个async方法,这似乎不工作。 我以前尝试过的场景在以下代码中列出: class Program { static void Main() { // Debugger stopps correctly Task.Run(() => SyncOp()); // Debugger doesn't stop Task.Run(async () => SyncOp()); // Debugger doesn't stop Task.Run((Func<Task>)AsyncTaskOp); // Debugger stops on "Wait()" with "AggregateException" Task.Run(() => AsyncTaskOp().Wait()); // Throws "Exceptions was unhandled by user code" on "await" Task.Run(() => AsyncVoidOp()); Thread.Sleep(2000); } […]
在VS2012中,我的web项目像往常一样debugging得很好。 我使用IIS Express。 今天,我安装了VS 2013,当我按F5debugging时,我得到了 我无法在任何地方find解决scheme。 我尝试清理临时文件,将端口号从7227更改为其他内容,删除iis快速configuration文件等。我甚至卸载并重新安装VS 2013。 我可以运行没有debugging,然后附加到IISExpress和工作,但我不能开始与F5。 任何线索? 编辑:发生在另一台机器以及全新安装的Windows 8.1和VS 2013 编辑:解决scheme:我有Silverlight检查debugging器。 我取消了Silverlight的检查,并且可以使用F5使用Chrome或Firefox进行debugging。 显然有些东西不对,但我不需要Silverlightdebugging。
在我的Visual Studio 2013 RC项目中,我收到了这个错误消息: “ types'System.Net.Http.Formatting.MediaTypeFormatter'是在未引用的程序集中定义的,必须添加对程序集”System.Net.Http.Formatting,Version = 4.0.0.0,Culture = neutral, PublicKeyToken = 31bf3856ad364e35' “ …在控制器中的"var response = "代码行上: public HttpResponseMessage PostDelivery(Delivery delivery) { delivery = repository.Add(delivery); var response = Request.CreateResponse<Delivery>(HttpStatusCode.Created, delivery); string uri = Url.Link("DefaultApi", new { id = delivery.Id }); response.Headers.Location = new Uri(uri); return response; } search我的硬盘上所需的程序集(“System.Net.Http.Formatting”),它显示了它存在的几个位置,但它们都在现有的项目中,如下所示: 当然有另一个位置System.Net.Http.Formatting.dll可以被引用! 但是哪里? UPDATE 试图按照这里的线索: http : […]
使用VS2015快照和分析工具后,似乎无法使诊断工具再次运行。 每个项目,甚至新的只是说下面的 诊断工具窗口不支持当前的debuggingconfiguration。 尝试创build新的和不同types的项目,以pipe理员身份运行,删除程序数据,应用程序数据,从卸载修复和重新安装。 任何人都经历过这个?,因为他们在这个版本中改进了这个工具,所以感到惭愧。 谢谢
当为媒体中心编写插件时,你的插件被托pipe在ehexthost.exe这个exe从ehshell.exe启动,你无法直接启动它,而是传递一个特殊的参数给ehshell.exe ,这个特殊的参数将在单独启动插件处理。 当我们正在debugging媒体浏览器时,我发现附加到第二个过程种类笨重的过程中,我知道有关Debugger.Attach以及我可以使用的一些特殊的registry项。 这两种方法都不完全适合我的账单。 我想要的是按F5,并将我当前的Visual Studio实例自动附加到subprocess。 可以这样做吗? 如果有一个VS的插件,可以让我实现这个function,我会很高兴。 编辑 我结束了与下面的macros: Public Sub CompileRunAndAttachToEhExtHost() DTE.Solution.SolutionBuild.Build(True) DTE.Solution.SolutionBuild.Debug() Dim trd As System.Threading.Thread = New System.Threading.Thread(AddressOf AttachToEhExtHost) trd.Start() End Sub Public Sub AttachToEhExtHost() Dim i As Integer = 0 Do Until i = 50 i = i + 1 Try For Each proc As EnvDTE.Process In DTE.Debugger.LocalProcesses If (proc.Name.IndexOf("ehexthost.exe") […]
如何禁用Visual Studio 2012的debugging输出窗口中的消息? 线程'(0x2360)退出代码0(0x0) 由于这些消息的计数是如此之高,他们打扰我,并隐藏我使用Debug.Write编写的自定义debugging信息。 我应该使用红色突出显示我的自定义debugging信息吗?
我有一个看起来像这样的类: public class MyService { private MyService(){} public static string GetStuff() { var stuffDid = new MyService(); return stuffDid.DoStuff(); } private string DoStuff() { //do stuff } //other private helpers } 显然我留下了很多,但那是一般的壳。 现在,我有一个unit testing: [Test] public void MyTest() { var results = MyService.GetStuff(); } 我在我的unit testing中设置了断点,我可以看到results有数据。 然而,我把所有断点设置在MyService ,除非我把它们放在一个大括号内, 我不明白,因为results有数据,我在MyService return语句应该会受到打击,对吧? 我错过了什么吗? 我完全忘记了一些最基本的规则吗? 如何在MyService没有被击中? 如果我用F11手动进入它,它只是徘徊,甚至不会像我所期望的那样通过每一行。 另外,当我通过手动步骤,我往往打一定的代码后,我本来应该打它。 […]
我有一个用Visual Studio 2013创build的ASP.NET Web应用程序。我试图在CSHTML文件中debuggingJavaScript。 然而,每当我启动网页,任何断点都会变成一个红色的圆形箭头,并指出:“断点不会被命中,debugging器的目标代码types的可执行代码不会与此行相关联,可能的原因包括:条件编译,编译器优化,或者当前debugging器代码types不支持该行的目标体系结构。“ 最近,这个项目被转换来支持MVC和RAZR,这两者我都不了解,而这正是这个问题开始的时候。 但是,search那些已经取得的成果,不解决我的问题。 Web.config文件: <compilation debug="true"…> 我知道我可以使用Firebug或其他浏览器工具来debuggingJavaScript,但我宁愿坚持使用Visual Studio的debugging,因为这是我习惯的。
我已经安装了VS 2015 RTM(没有别的),我无法debugging任何解决scheme,无论是现有的还是全新的(使用VS 2015创build,并针对.Net Framework 4.6编译),它只会打开一个VS中的新选项卡被称为Break模式,其中包含以下文本:应用程序处于中断模式您的应用程序已进入中断状态,但所选debugging引擎不支持执行代码(例如,仅执行本机运行时代码)。 如果我检查debugging – >模块窗口:VS2015Test.vshost.exe没有符号加载(即使我点击加载符号它不起作用)VS2015Test.exe符号加载 它也不会在控制台上显示输出(这是一个控制台应用程序,只是有以下几行代码: class Program { static void Main(string[] args) { Console.WriteLine("TEST"); Console.ReadKey(); } } 我试图重新安装VS 2015,重新启动计算机,删除%temp%/ AppData / Microsoft / Visual Studio / 14中的所有文件,启动VSpipe理模式,但似乎没有任何工作。 有一个让debugging工作的东西是这个选项:工具 – >选项 – >debugging – >使用托pipe兼容模式 ^^但是这不可能是使用旧/旧模式的解决scheme。 顺便说一句:在VS 2013的debugging工作正常。 任何帮助,将不胜感激。
我正在尝试debugging一个引用了我添加的DLL的项目,该DLL存储在一个外部目录中,而我只是添加了一个引用。 现在我当然可以debugging我的项目,但调用另一个DLL的方法,我不能步入它的行,即F12。 我能做到这一点的一个方法是将我的项目(DLL)作为一个现有的项目添加到我的解决scheme,并replace引用的DLL使用附加的项目,而不是磁盘上的文件。 但是多么混乱,我肯定有一个更清洁的方式? 我似乎记得,如果我复制一些PDB文件或什么,但我不记得了。 我是否需要打开2副本的视觉工作室,1为我的主要项目和1为我引用的DLL?