[英]How to start exe file cdb.exe and pass argument from process.start
如果我手动执行以下操作,它可以正常工作,但我必须能够从 C# 执行相同操作,此外还必须能够关闭命令窗口。
cdb.exe
所在的目录,在我的情况下为C:\\Program Files (x86)\\Windows Kits\\8.1\\Debuggers\\x86
cdb -z D:\\Temp\\CrashDump.dmp -logo c:\\temp\\mydump.text -c "q"
c:\\temp\\
有一个mydump.text
所以我想从 C# 中做同样的事情。 我尝试了几种解决方案。 这是第一个
Process.Start(@"program files (x86)\windows Kits\8.1\Debuggers\x86\cdb.exe", @"-z D:\Temp\CrashDump.dmp -logo c:\temp\mydump.text -c \\""q\\""");
执行时提示“系统找不到指定的文件。
我的第二次尝试是
Process.Start("cmd.exe", @"program files (x86)\windows Kits\8.1\Debuggers\x86\cdb.exe -z D:\Temp\CrashDump.dmp -logo c:\temp\mydump.text -c \\""q\\""");
这会打开命令窗口,但不会创建它应该创建的文件 mydump.text。
我也尝试将命令添加到 bat 文件中,但它不起作用。
在创建文件mydump.text
后,命令窗口也应自动关闭。
你可以试试这个
using (var process = new System.Diagnostics.Process())
{
var startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = @"C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\cdb.exe";
startInfo.Arguments = @"-z D:\Temp\CrashDump.dmp -logo c:\temp\mydump.text -c ""q""";
process.StartInfo = startInfo;
process.Start();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.