草庐IT

as调试SystemUI

全部标签

c# - Form.ShowDialog() 不显示启用调试的窗口

我在单元测试项目中创建了一个测试,我想在其中使用ShowDialog()函数弹出一个Form:[TestMethod]publicvoidTestDialog(){//ThisclassinheritsfromFormTestFormserviceTestForm=newTestForm("Mytestform");serviceTestForm.ShowDialog();return;}我希望此测试到达ShowDialog(),并“无限期”运行,直到我关闭窗口。但是,当我“带调试”运行此测试时,测试到达ShowDialog(),但没有出现任何窗体。奇怪的是,如果我“不调试”地运行,这

c# - 将 C# 调试输出写入 .txt 文件

我在带有.NETMicroFramework的微Controller上运行代码,我希望我的调试输出写入一个文本文件。这是如何工作的? 最佳答案 使用Trace.它旨在满足您的需求。usingSystem;usingSystem.Diagnostics;classTest{staticvoidMain(){Trace.Listeners.Add(newTextWriterTraceListener("yourlog.log"));Trace.AutoFlush=true;Trace.Indent();Trace.WriteLine("

c# - .NET应用程序将作为控制台应用程序运行,但不能作为Windows窗体运行,调试工作

我有一个Windows应用程序,以前曾在.NET2.0上运行过,而我只是想将其升级到.NETFramework4。我已经做过数百次了,没有出现任何问题。长话短说:升级后,我可以从“调试”和“发布”模式运行Windows应用程序(用C#编写)。我的所有程序集都设置为构建目标(x86),以确保所有32位依赖项都可以在Windows7x64上运行。奇怪的是,当我从bin\x86\Debug或Release目录运行可执行文件时,什么也没发生。从字面上看没什么。应用程序启动,然后立即停止,并且没有错误消息,没有崩溃,没有任何项目写入事件日志。它只是开始然后停止。疯狂的部分是,如果我将项目输出类型

c# - 轻量级独立 C# 调试器

我一直在Internet和StackOverflow上搜索有关一些轻量级.NET调试器的一些建议,但到目前为止我还没有找到很多运气。有些文章/帖子要么已经过时,要么不完全符合我的需要。我特别想要的是一个非常轻量级的.NET调试器,我可以将其包装到我的应用程序中,我可以在其中为管理员/开发人员创建“Debug模式”。由于此应用程序非常特定于数据和它运行的环境,并且还具有一些脚本功能,因此允许用户调试他们的脚本以及在某些情况下调试底层引擎的能力将非常有用。简而言之,要求是:轻量级,允许用户设置自定义断点,最后,允许用户逐步执行代码我可以使用标准的VisualStudio调试器,并使用Deb

c# - Visual Studio 2010 调试器中的上下文变量

对于面向.NET4.0的C#控制台应用程序,我遇到了一个非常奇怪的问题,即局部变量在VisualStudio2010调试器中脱离了上下文。我在SO上搜索了其他类似的问题,但虽然有些问题具有相同的症状,但似乎没有一个直接适用于此问题(它们似乎都有其他根本原因)。问题是对于某些变量(但不是全部)我没有得到带有它们值的工具提示,它们没有出现在本地窗口中,并且我得到“当前上下文中不存在名称‘xyz’"如果我​​将它们添加到Watch窗口。它似乎影响某些变量但不影响其他变量,而且我无法找出一种模式(它似乎不基于成员与本地、类与结构或任何其他区别因素)。我重新启动了我的计算机和VisualStud

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

这非常危险,所以我想知道为什么允许这样做。由于我经常需要在VB.NET和C#之间切换,我有时会添加如下断点条件:foo="bah"如果string变量foo是"bah,我想停止,所以正确的方法是使用foo=="bah"而不是foo="bah"。但它“有效”。您不会在编译或运行时收到任何警告或错误。但实际上这修改变量foo,即使它有不同的值,它也总是"bah"。由于这种情况悄无声息地发生(断点永远不会命中),因此非常危险。为什么允许?我的推理错误在哪里(除了混淆C#和VB.NET语法之外)?在C#中(相对于VB.NET)一个assignmentstatement返回分配的值,因此在本例中

c# - 当右侧操作数是泛型时, "as"运算符如何翻译?

我刚刚发布了一个answer至thisquestion但我并不完全相信我的回答。有两件事我想知道,请考虑这段代码:classFoo{voidSomeMethod(){stringstr="foo";Foof=strasFoo;}}根据C#Specification5.0,asoperator有两种不同的转换方式.Ifthecompile-timetypeofEisnotdynamic,theoperationEasTproducesthesameresultasEisT?(T)(E):(T)nullIfthecompile-timetypeofEisdynamic,unlikethec

c# - 在 Visual Studio 2013 中对托管单元测试使用混合模式调试

我在VisualStudio2013测试框架中有一个C#单元测试,该测试框架使用CLI和native代码。我想在执行C#单元测试时调查代码的native部分。但是,运行测试->调试->所有测试运行托管调试器,因此不会命中native代码中的断点,并且我无法像在混合模式调试器下运行程序时那样从C#->C++/CLI代码进行跟踪。例如,我的单元测试中的这段代码:[TestMethod]publicvoidTestRoundTripEvaluate(){varobj=newMyCLIObject();varroundtripped=RoundtripXml(obj);//Iwouldlike

c# - VS2013 似乎没有正确附加 - 调试器已附加但未配置为调试此未处理的异常

在编写控制台应用程序时,我使用的是SAPDLL。尝试添加SAP对象时出现以下错误:Adebuggerisattachedtobutnotconfiguredtodebugthisunhandledexception.Todebugthisexceptiondetachthecurrentdebugger.代码:SAPbobsCOM.GeneralServiceoGeneralService=oCmpSrv.GetGeneralService("WEPPAGE");SAPbobsCOM.GeneralDataoGeneralData=(SAPbobsCOM.GeneralData)oGe

c# - 在 VS 调试器中获取方法的返回值

是否可以在VisualStudio调试器中获取方法的返回值,即使该值未分配给局部变量?例如,我正在调试以下代码:publicstringFoo(intvalueIn){if(valueIn>100)returnProxy.Bar(valueIn);elsereturn"Notenough";}因为我没有在Foo中设置任何局部变量,并且假设我没有在任何调用Foo的地方设置断点,如果我在Foo中有一个断点,有没有办法查看返回值是什么(或其他方式)?我对Autos或Intermediate窗口没有太多经验,所以我不确定这些是否是一个有效的选项。 最佳答案