簡體   English   中英

如何啟動 exe 文件 cdb.exe 並從 process.start 傳遞參數

[英]How to start exe file cdb.exe and pass argument from process.start

如果我手動執行以下操作,它可以正常工作,但我必須能夠從 C# 執行相同操作,此外還必須能夠關閉命令窗口。

  1. 打開命令窗口(cmd)
  2. 使用 cd 轉到cdb.exe所在的目錄,在我的情況下為C:\\Program Files (x86)\\Windows Kits\\8.1\\Debuggers\\x86
  3. 我做cdb -z D:\\Temp\\CrashDump.dmp -logo c:\\temp\\mydump.text -c "q"
  4. 現在在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM