草庐IT

虚拟调试

全部标签

c# - 使用 IIS7 通过 c#/asp.net 网页访问虚拟目录(映射驱动器)

所以我有服务器A和服务器B。服务器A:WindowsServer2008R2服务器B:WindowsServer2003网页使用的是framework4.0,用VS2013ProRC制作在服务器A上,我的asp.net/c#网页在IIS7上运行在服务器B上我有一个共享文件夹。现在我已经将此共享文件夹从服务器B映射到服务器A,并且可以通过桌面\Windows资源管理器完全访问它,但是从网页访问该文件夹是另一回事。要访问该文件夹,我在IIS7中所做的是,在同一网页下创建一个虚拟文件夹,并将其指向映射的驱动器。如果文件夹在同一台服务器A上,这当然会起作用,但由于它在不同的服务器B上,我收到以

c# - 调试 C# 对象初始值设定项

有没有人有关于在C#对象初始化程序block中调试异常的任何提示?对象初始化语法基本上是全有或全无,这使得在LINQ查询内部进行故障排除变得特别困难。除了将对象创建分解为一个单独的方法外,我还能做些什么来查看哪个属性setter抛出异常吗? 最佳答案 禁用步过属性setter的选项[步过属性和运算符(仅限托管)]可以让您步进属性setter。否则,最好的选择通常是将其分解并在LINQ语句之外进行调试。您可以将初始化参数包装到linq中的匿名类型中,并在linq语句之外构造对象以进行调试。

c# - 是否可以使用使用 dotPeek 反编译的源代码实际调试 3rd 方代码?

我使用VS2012。我知道如何使用.NETReflector调试第3方代码并一直使用它。我想知道这是否可以通过JetBrains的dotPeek或没有dotPeek的R#本身来实现。我能够导航到反编译的第3方代码,但无法单步执行。有什么想法吗? 最佳答案 我看到这个问题仍在为我的博客增加流量,所以我将添加一个答案:是的,现在可以使用JetBrainsdotPeek调试第3方程序集。反编译器(完全免费),将其用作Symbolserver.在我的博文中HowtodebuganythingwithVisualStudioanddotPee

c# - 在运行时调试链接到的 dll

为了模块化,我在运行时而不是编译时链接到我的解决方案中的dll,以允许我独立更新它。当我在库项目中放置断点时,这些断点不会在链接到类和创建类型时触发。作为引用,这是反射代码:Assemblya=Assembly.LoadFile(FULL_APPLICATION_CACHE+targetVersion+"\\Core.dll");TypeengineCoreType=a.GetType("Core.EngineCore");objectinstance=Activator.CreateInstance(engineCoreType);在这种情况下,VisualStudio是否可以提供其

c# - 在 C# 中模拟非虚拟方法

这个问题在这里已经有了答案:Howtomocknonvirtualmethods?(8个答案)关闭11个月前。我正在尝试测试我使用模拟创建的一些类,但我发现c#中的所有免费模拟框架都无法模拟非虚拟方法(如果它不在接口(interface)中)。但是,有TypeMock可以做到这一点,所以这是可能的。任何人都可以展示如何去做吗?如果我能做到这一点,我什至可能会尝试为开源框架做出贡献。提前致谢

c# - 为什么 DynamicProxy 的拦截器不会为 *each* 虚拟方法调用调用?

一个例子最能说明问题:publicinterfaceIA{voidfoo();voidbar();}publicclassA:IA{publicvirtualvoidfoo(){Console.Write("foo");bar();//callvirtualmethod}publicvirtualvoidbar(){Console.Write("bar");}}publicclassInterceptor:IInterceptor{publicvoidIntercept(IInvocationinvocation){Console.WriteLine("Intercepted:"+in

c# - 尝试调试 ASP.NET 网站时 Visual Studio 2013 sp1 挂起?

最近,VisualStudio2013在尝试调试/跟踪ASP.NET网站时再次开始挂起。该站点是使用WebMatrix3创建的,但我认为这无关紧要。VS2013打开网站解决方案。加载需要很长时间。一旦它确实加载并运行项目,它会遇到我的第一个断点,然后IDE窗口的标题栏中快速显示“(未响应)”,IDE现在挂起。这在很久以前发生在我身上,根本原因是需要设置“使用64位IIS”选项,如此SO帖子所示:VisualStudio2013crashesandrestartseverytimeIrunmytestsolution但我检查了三次,确实检查了64位选项。我该怎么做才能解决这个问题?

c# - 调试 C++/Cli : <Unknown function> and no Locals

我正在尝试使用C#程序集和C++/Cli程序集调试项目。C#中定义的接口(interface)由C++/Cli类继承,后者又调用nativeC++类。在C++和C#程序集以及启动.exe中都启用了混合模式调试。现在,当我尝试调试C++部分时,它变得很棘手;如果我只是在C++部分设置断点,它们就不会被击中(尽管我知道它们被击中是因为日志(等)被写入并且在那里抛出异常实际上会正确地抛出它)。当我在调用混合模式程序集之前在C#中的最新调用处设置断点时,我可以进入C++/Cli代码,甚至可以进入native部分。但是,调用堆栈显示为MyMixedMode.dll!Line...而且我无法检查任

c# - 在 C# 中分离调试和发布代码

我正在编写一个应用程序,其中有一些我不想删除的调试代码,但我希望在编译发布/发布时修改或删除它。例如,我希望在调试版本中有这样的东西:MessageBox.Show(ex.ToString(),"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);...在发布版本中变成这样:MessageBox.Show(ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);理想情况下,我希望做这样的事情:#ifDEBUG_BUILDMessageBox.Show(ex.ToStrin

c# - 为什么 FakeItEasy 抛出这个异常,为什么使方法成为虚拟方法来修复它?

我有一个测试(代码在下面)来测试Method1调用Method2。我得到的异常是Thecurrentproxygeneratorcannotinterceptthespecifiedmethodforthefollowingreason:-Sealedmethodscannotbeintercepted.被测方法本身并未密封。但是,它确实依赖密封类(第三方类,我无法为其创建包装器以正确模拟它-另一个问题的另一个主题)。无论哪种方式,此时我都没有要求FakeItEasy模拟密封类。在调试我的测试时,当调用依赖项时,我可以清楚地看到正在生成一个真实的对象,而不是假的。然而,鉴于错误消息,我