在旧版本的VS中,locals/watch/autos/etc窗口将反映您正在查看的任何内容的继承树:
这样做的好处是,您只能预先看到本地添加的变量,无论您处理的是什么,这几乎都是我感兴趣的.
现在,它将它展平并将所有内容放在一个大的列表中:
其中,如果你正在处理任何像Windows Forms这样的东西,或者正在使用深度继承树继承任何东西,这意味着你不得不经历大量垃圾,这些垃圾永远不会很重要,每次你都需要查看一些东西.
从本质上讲,VS2015似乎是这样做的:在Visual Studio的Watch窗口中展平继承的成员?并使它成为唯一的选择,我想做相反的事情.当然,偶尔快速深入继承树是很好的,但我想只经常潜水浅1000倍.
在General Debugging设置中,我没有看到任何明显控制此行为的内容,是否还有其他方法可以切换行为?
我有VMware工作站9和10,我想用它来运行一些集成测试.
使用vmrun实用程序,我可以将脚本复制到虚拟机guest虚拟机并在其上运行它们.但是,某些集成测试需要与USB设备连接.
是否有任何方法使用vmrun或任何vmware API以编程方式控制"可移动设备"以连接和断开USB设备与虚拟机?
我已经尝试查看readVariable和writeVariable命令,但是我找不到有关该主题的任何有用信息.
这令人难以置信.使用以下代码:
Process du = new Process();
string cmdPath = System.IO.Path.Combine(Environment.SystemDirectory, "du.exe");
Debug.WriteLine(cmdPath);
ProcessStartInfo info = new ProcessStartInfo(cmdPath);
info.CreateNoWindow = true;
info.Arguments = arguments;
info.UseShellExecute = false;
info.RedirectStandardOutput = true;
du.StartInfo = info;
du.EnableRaisingEvents = true;
du.OutputDataReceived += responseParser;
du.Start();
du.BeginOutputReadLine();
du.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
我跑了,我得到:
未处理的异常:System.ComponentModel.Win32Exception:系统找不到指定的文件
虽然cmdPath的输出值是C:\Windows\system32\du.exe!
当然,如果我只是输入cmdPath命令提示符的内容,它运行du.exe并给我使用信息.
此外,如果我用"du.exe"替换命令路径,并将du.exe放在工作目录中,一切正常.但我想引用系统位置中的那个.
那么发生了什么?据我所知,我有一个合法的文件说明符,但为什么不Process.Start()执行呢?这个基本代码也执行其他几个程序并获得它们的输出.其他都工作正常,虽然du.exe与它们不同,因为它位于system32目录中.这与它有关吗?
谢谢